Я думаю, вам придется использовать собственный обработчик для управления этим.
Вторая часть проста, так как вы можете использовать атрибут configSource в исходном файле конфигурации, чтобы указать на файл, содержащий источник xml.
<system.serviceModel>
<diagnostics>
<messageLogging logMalformedMessages="true" logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true" />
</diagnostics>
<bindings configSource="web.shared.bindings.config" ></bindings>
<client configSource="web.shared.client.config" ></client>
</system.serviceModel>
Вот как мы связываем части XML-файла Service.ServiceModel с нашей веб-конфигурацией, чтобы мы могли хранить их отдельно и легко редактировать.