It is a common question, how to sync a wallet across different devices.
As far as I understand, a wallet is just a collection of private keys. Each private key can be uniquely identified using the bitcoin address associated with the key. Thus, why don't we think of wallet.dat as if it was a directory:
Filename File Content
=Address =Private Key
1HB5XMLmzFV 8ALj6mfBsbifRo
... ...
Now, syncing such a directory is trivial. If the filename (address) matches, the file is identical and does not need to be synced. If a filename is only present on one side, just copy the file, it's a new address.
Is something like this going to be implemented in a future client version? Or is my idea faulty?