I've probably missed something here, so apologies in advance ...
Is it as simple as having two XF86Config files and switching between them? Part of your startx script might check to see what argument, if any, was passed and specify the appropriate config file.
As I said, I've probably overlooked something, and I don't have the luxury of a KVM switch to experiment with, but (famous last words) "it seems like it ought to work"
Hope this helps.