How to make a transaction start from a given address?
As of version 0.9.0, the bitcoin-qt reference client includes a "coin control" feature.  When you create a transaction, it lets you explicitly select which past transactions will be used as inputs.  You can enable this feature via the Display tab in the Options dialog. 

This accomplishes what you are asking for.