Bitcoin-qt -how does it choose the address to take money from when sending btcs
There's a patch awaiting merging into the Satoshi client which allows you to see the balance on each address and pick which address(es) you want to pay from.

See here for more description and a video of it in action.

Lots of people have been showing their support for this feature by posting "+1" comments on the pull request despite requests that they stop doing so.