Well, it seems like I still miss something. I know it is one or all. But hey, the man wants to bind to a specific interface. So be it! It can't be done automatically, so what? He must tell which interface. Incomming traffic will go through the interface he specifies. That might just be enough. Outgoing traffic is another story.
The one problem I see, but you did not mention is that a client connect to a socket on a certain IP and receive a reply on another IP, and that packet, by default linux kernel configuration, will be dropped. *This* is a reason not to do it. Although some machines can be configured not to drop, but as this is a non-default cofiguration on the other client, that makes the one interface binding pointless.
Maybe now I found what I missed.

rsd, it seems like we won't do it anymore, unless you can convince me, and worst, convince lfroen

Cheers!