Wouldn’t it be much simpler to be able to run several instances of bitcoin, each of them running on a specific “wallet.dat” file ?
I mean, we would just add a —wallet long option to the client/server app. The name of your account would be the name of your wallet file.