I use TrueCrypt on Linux to create and mount just a small encrypted volume that holds only the wallet.dat. That wallet.dat is well under 1MB now, but 5MB seems to be a ample yet convenient upper bound as far as size goes. I'ld like to ensure that the wallet.dat has not and will not ever be stored on a non-encrypted volume.
For me to be able to ensure that a new wallet is created on an encrypted volume, I created a much larger encrypted volume (e.g, 300MB or larger, depending on volume of logging kepts) and launch the Bitcoin client there. Once I have the wallet.dat, I then move it to the smaller 5MB encrypted volume.
The protected 5MB volume is not normally mounted and is only used sporadically. When I do wish to use it, I mount the volume and then create a symlink to its wallet.dat before launching bitcoin.
It would be more convenient if, instead of having to create a symlink, I was able to specify which directory to use just for the wallet.dat. e.g.,
$ bitcoin -walletdir=/media/truecrypt1 -datadir=/usr/local/bitcoin/data
Something like a -walletdir option would allow me to create the wallet in a separate directory as well. An added benefit for that would be that I could then skip having the 300MB encrypted volume as well.
Does anyone have a better solution, or other thoughts on this suggestion?