hurr durr...
just tried it with a single address... it's not possible to use 100x0.5 and send them to the same address. too bad.
your approach is doable, except for mobile wallets.
mebbe this could be a service. of course, trx costs factor in - but when receiving 100 BTC, splitting them in 10x10 would already suffice, I guess.
It can be done with a single address, but it isn't easy to do. There aren't any wallets that I'm aware of that have an easy to use user interface for sending multiple outputs to the same address.
I'd be willing to try doing it for you for free (gratuities are always appreciated) if you trust me with your bitcoins, if for no other reason than the fact that it would be an interesting thing to try out.
If you're interested, let me know and I'll give you a bitcoin address to fund.
Then when I get the bitcoins, I'll split them up into 0.5 BTC outputs and send them all back to you separately. If I can't figure out how to send them back in separate outputs, I'll send them all back in a single output (I'll even toss in 0.0001 BTC of my own to cover the transaction fee when sending back).
The biggest issue I can think of with the splitting is that if there are enough outputs it could exceed 10 kilobytes. Then the transaction might need some additional fees to get relayed/confirmed.