I have succeeded in running two bitcoin instances... sort of. I've got the normal GUI running my old wallet, but I could only manage to get the headless daemon to run my new wallet, with this command:
c:\program files\bitcoin\daemon\bitcoind.exe -datadir="m:\bitcoin\new wallet" -connect=127.0.0.1 -nolisten
That way it connects to the already running instance, with the port open as normal, but won't try to listen on it's own port, since the port is already open that wouldn't work at all. There, two instances of bitcoin... sort of, on the same windows machine.
Hmmm, I wonder, what if I tried those commands on the gui, could two gui windows come up? Let's see. Nope, it won't run, it tries to, but eventually kills itself for some reason. I'm sure I can look at the debug.log to see why.