How to do refunds and internal transfers on bitcoind?
Unfortunately, there's no distinction between "external" and "internal" transfers in bitcoin. If you want coins to be in another address, you have to pay the transaction fee. That said, you can create a single transaction that does everything you want and only pay the fee once (though, obviously, that transaction will be relatively big, you should still save some fees because you'll not have as much overhead in terms of tx size)