Yes when you spend bitcoins , the "unspent" bitcoins will go by default to other addresses, but these addresses are inside your wallet... so you never lose the ownership of them.
You don't need to any third party wallet provider like blockchain.info, you can do everything with the bitcoin client.
When you do a transaction, check in the blockchain to which addresses the unspent bitcoins went, then open the console in the bitcoin client and write dumpprivkey [Address], you will get the private key of those addresses in case you want to store them or you can simply send all the bitcoins back to the original address, in other words, you never lose control of your funds, just they are sent to other addresses inside your wallet.
By default bitcoin sends the unspent coins to other addresses so its harder to trace the flow of the funds.
One of the best replies i have seen on this site!! :D thanks man!!
Wow. This is a great solution. Thank you. I'm still learning all the command line stuff.