Bitcoin uses previous payments from your wallet in a way that would minimize change.
You need to understand change a bit. Although I should write a longer explanation of change, this covers it briefly:
http://we.lovebitco.in/how-bitcoin-works/transactions/If you received payments of 1, 3, 7, and 8 bitcoin previously, and send someone 9 BTC, the 8 and 1 bitcoin balances would be used.
Alternately, if you sent someone 6 BTC, the 7 BTC payment would be used, and 1 BTC of change would come back to you in a new address not shown in your wallet. If you then spend another 2 BTC, 1 BTC + 1 BTC (change) would be used.
Due to change, the "from" addresses will likely include ones your client does not show to you. For this reason, if you look up a transaction ID on a blockchain explorer site, you may see addresses you didn't even know were yours.
Bitcoin hides all the behind-the-scenes stuff from you because it would take some education to understand it all. If you do not want to have addresses potentially tied to each other, you would need separate wallets, or need to manually construct transactions (which is an advanced topic).