There are many ways by which we can store configuration, cross-reference information in BizTalk. I will try to discuss some of the ways which I have used before.
1. Using BTSNTSvc.Config’s appSettings to store the configuration information. This is similar to App.config in .Net. One more way to isolate the storage of appSettings values is to store in a different file and set the file attribute in the appsettings TAG to an External Filename.
E.x (In BTSNTSvc.config File)
<add key="ConnectionString" value="Integrated Security=SSPI;Data Source=localhost;Initial Catalog=BizTalkMsgBoxDb" />
<add key="DEBUG_Mode" value="true"/>
2. Using SSO Configuration to store the information. Richard Seroter came up with a handy tool to store and retrieve values with SSOConfig db. The link I have added below has some added feature to it. http://geekswithblogs.net/paulp/archive/2008/05/16/122205.aspx
3. Incase if you are using a map, getting to these values or if the number of cross-reference values you store is more then the above design becomes a bit more complex option. Using the Xref set of tables and btsXrefimport option we can store configuration values and used by the MAP as well use the exposed API to get the application/common value. Link: xrefseed.zip
A good write up of some ways to store map data is here http://geekswithblogs.net/michaelstephenson/archive/2006/12/24/101995.aspx
There is a write up from Michael Stephenson regarding the same topic Click To View Entry
One more interesting article regarding storing custom configuration settings using Enterprise Library: http://geekswithblogs.net/paulp/archive/2008/06/11/122803.aspx