Can I reuse blockchain/index files with multiple wallets? With the bitcoin-qt client, I'd like to have multiple wallets use a single set of blockchain data files.

Why? Downloading a fresh copy of the blockchain can take days, and each copy of the blockchain seems to be ~ 5GB large.  This feels somewhat wasteful if coins are spread about multiple wallets.

Note: I do not want to run multiple instances of bitcoin-qt simultaneously as I'm sure this would result in a bad time.

I was hoping this could be accomplished using the -datadirs option and symlinking blkindex.dat and blk000X.dat files to a central location.  But it seems like I'd have to create new symlinks in each datadir everytime a new blk000X.dat gets created :(
You can swap wallets around and synchronise them up with the same block chain data files - you would just need to replace the wallet.dat files in the Bitcoin's data directory. The client would only synchronise once with the network and later be able to synchronise your wallet files independently. Keeping up with which wallet is synchronised and which isn't might be a bit of a hassle though. I don't know of a client that can operate multiple wallet.dat files simultaneously.