If you have a specific address that you need to send coins from, the easiest way is to export the private key for that address with pywallet, and import it into a brand new wallet (either by swapping the wallet file on your existing install, or better, by running a completely different Bitcoin on a virtual machine (virtual PC or VirtualBox). Then payments can only be funded from the balance of that one address. Note that any remaining balance will be sent back to a new hidden address inside the wallet as "change", so if you don't send the full amount, you must continue to use the second copy of the Bitcoin wallet to use the remaining money until your balance is zero.
Thats how I would do it too.
Or, find out how much Bitcoins are on which address in your wallet (pywallet is the easiest for that), blockexplorer helps.
If you transfer the exact amount that is on one of your adresses, the client should use that address too. Similar, if only one address has enough funds to do the transaction, the client should use that one (instead of combining several addresses worth).
I use several wallets and keep book about the used addresses in them. PITA, I will read up on multi-wallet-clients right now!
Ente