Is your CMS solution Sitecore? If so, Sitecore has two options for splitting its config out of the main web.config file.
Sitecore supports using the <sc:include> tag to include a part of the configuration from a seperate file. You just put the <sc:include> tag wherever the configuration would go:
<sitecore database="SqlServer">
<sc.include file="C:\Program Files\SitecoreSampleSite\sitecore.config"/>
</sitecore>
Then you start the configuration at the parent of <sc:include> (in this case sitecore) in the include file:
<sitecore database="SqlServer">
<sc.variable name="dataFolder" value="/data"/>
<sc.variable name="mediaFolder" value="/upload"/>
<sc.variable name="tempFolder" value="/temp"/>
...
</sitecore>
Sitecore themselves use this in their standard configuration so you can see quite a few examples of this just by looking for in their standard configuration file.
Your other option is to pull out some configuration and put it into the app_config/includes directory. At runtime Sitecore will look for any .config files in there and then add any configuration in the file to the main config.
This configuration file needs to have the full Sitecore configuration structure.