50BTC in address, I want to send 0.7x BTC to a friend.
Right AFTER that, I need to send 25BTC to somewhere else.... Pustekuchen!
My coins are stuck until the transaction is confirmed.
Your coins should never be "stuck". The protocol doesn't require that. This is a bug in the client. Exactly how/why it believed you had no UXTO to spend I don't know but you should have been able to spend every single coin down to the last satoshi.
Important: the subsequent tx won't CONFIRM until the first tx (drink) is CONFIRMED. So since the first tx is small if you didn't include a fee it may be a while and even if you included a fee in subsequent tx they can't be confirmed until the first one is. So if your buyers complained. Dude these coins you sent me have been unconfirmed for two hours that would be a different issue however any bitcoin tx (unless it breaks min mandatory fee rules) should be sent immediately and be seen (unconfirmed) by the recipient within seconds at most. This applies to any client on any OS anywhere in the world.
Solution: Please restrict the changeback amount to 5% of the wallet balance.
This is impossible however it isn't necessary for the real solution. You simply want to be able to spend all yours coins whenever you want. That is possible however change is ALWAYS the amount of the input minus the output.
As someone indicated up thread in the real world you open your wallet and inside is a single $50 bill. You want to buy a beer for $5. You can't tear off a corner of the bill to pay. Well you could but the bartender might decide you had one too many. The only possible way to pay for the beer is to pay $50, the bartender will put $5 in the till and return $45 to you.
Bitcoin works the same way. If you receive 60 BTC as single tx you have a 60 BTC "bill" you can't tear off a corner of it. It doesn't matter if you intend to spend 1 satoshi or 20 BTC or 60 BTC the only possible way to "spend" it is in a 60 BTC transaction.
So change will always be the difference. However this is an xy problem.
http://meta.stackoverflow.com/questions/66377/what-is-the-xy-problemYou don't really want to have the change smaller you just want to be able to spend all your coins when and how you want. Luckily that problem can be solved and would appear (based on your description and assuming you didn't have one too many) to be a client side bug.