Are you not packaging un-used code into your embedded binaries then? You'd also have to manually test the reconfigured client before deploying it, I think.
Seems better to make an automated build system off a database of configurations - a simple sql table with the different settings that could automatically build versions for all clients. You'd get static compile time checking of each build, and it would allow for easily running automated tests against each client's version.
So you'd end up with no un-used code, a database of client configuations, and static compile time checking. Seems win-win.
Sorry for 'assuming your problems', feel free to ignore. Interesting situation though.