Is the change address always one bitcoin address per tx? I'm interested in the satoshi client as well as any others out there. Do any clients return change to multiple similar addresses?
What I'm specifically looking for is say someone spent:
1 BTC to address A.
.1 BTC to address B.
.1 BTC to address B.
In one tx
When I look at the tx output can I safely assume that address B is NOT an address used for change but part of a payment somewhere?
The Bitcoin.org (Satoshi) client would pull an unused address for the change. If you were to explicitly add as an output the next address so that it would match the same one the change would go to, I suppose the client isn't set up to detect that as a used address and you technically could end up with the transaction looking like above, where B is both a payment address and one used for change in the same transaction. But that would require you to explicitly choose that address.
Other clients let you choose what addresses the change goes to, so yes -- the above can occur if you explicitly choose for it to happen that way.