thought on coin control and selection of inputs:
hi jim, i think no need to worry about developing the perfect feature, just allow selecting an address that should be used for sure in the payment.
if the balance is not enough, let the app chose other inputs as usual. as long as the funds are send in the same transaction, it can be proved that the one of the source addresses was chosen by the user, he can sign the group buy message with the chosen address/key and the rest of the payment comes from his wallet, so no more issues.
(if I can sign for one address used as input, i'm also able to sign with other addresses, just makes no sense to go through all the loops).
tl;dr; just pick an address that must be used for outgoing payment, the rest is already there.