multiple outputs, address forking i did read up some stuff about bitcoin but never used it until today. i might be asking something very obvious, but how can i get rid of address forking? that is, after several transactions my address list grown and each has a tiny amount of btc(its a mess now, and it was unexpected for me). i would like to send further transactions without implicit generation of new addresses, how can that be achieved? i use bitcoin-qt or bitcoind.

should i be using createrawtransaction to reassemble my btc to one address and avoid forking in the future?
If you have not seen this yet, here is a diagram by zerohedge.com I found enlightening in order to understand how transactions fit into the Bitcoin concept.

The wiki at bitcoin.it has a more in detail overview of the inner works of Transactions and the inner workings of Raw Transactions.

From what I understand inputs to Bitcoin addresses are always spent completely in a transaction, so whatever you don't assign to a recipient will be available to be collected by a miner as transaction fee. So you'd need to set your client software to use the same address as source as well as for the recipient address of the transaction's change.

You could create a transaction that collects the complete balance from your wallet and sends them to a single output address. However, it is beneficial to use more than one address in order to make it more difficult to connect different transactions as belonging to the same identity. The bitcoin.it wiki has more information on privacy concerns

Additionally, Gavin Andresen, the lead developer of the reference client explained in this question, why change is sent to another address.