The concept is called "coin control" and my understanding is that it is being worked on.
bitcoind has this feature in the sendfrom call. If you want to send from a specific address rather than an account, you can combine it with setaccount.
The coin control capability is not yet in a released version of the Bitcoin.org client. You'ld need to build it from source.
There are other clients that have this and this is also available from the Blockchain.info/wallet hybrid EWallet.
-
http://www.Blockchain.info/wallet