Lets assume you want to consolidate a lot of small unspent Inputs that are signed for use by addresses located on a few clients.
For every client, create a raw transaction with the unspent Inputs you want to spend (send to another address). Somehow join all the raw transactions, and start signing with the first client. Every client will have to sign before the finished transaction is broadcasted to the network.
I'm not exactly sure how to accomplish this, but all the bits of the puzzle exists:
To try this were going to use brainwallet.org with "correct horse battery staple". Then were going to http://brainwallet.org/#tx with that private key to create a raw transaction.
The private key is known and used by a lot of users, so there is "dust" we need to remove with "Edit Inputs". I saved the first and the last unspent outputs, to make this example shorter.
Think of these two unspent outputs belonging to different addresses. Then you need to sign with both to make it an valid transaction.
Take a look at Gavins example for signing a 2-of-3 transaction, notice how the hex is getting longer for every signing and returns "complete: true" when the transaction is valid for broadcast.
The last part is figuring out what fee is required, look at the JSON Transaction and notice "size":xxxx. Now use what you learn here to calculate an appropriate fee. (You need to include the fee before signing)
I made the transaction and wasted 15% of bitcoins. There remained a few coins with value of 0.00005 BTC, thus I attempted the uno-wallet's access by private-key and created a transaction with zero fee. It obviously was pending a week in the queue and after that it disapeared. I'll try that once again. From now on, for dust transaction I'm using Inputs.io, which is able to consume single satoshis and add them to my account:) – V-X – 2013-10-14T10:22:15.437