You can do this by using the transfer_original
command. The default transfer
command will not split, but seems to be aggregating all the amounts going to the same address in a single denomination. This is based on a few tests I did just now.
So, to split 100XMR to 10 denominations of 10XMR, you'd do:
transfer_original <youraddress> 10 <youraddress> 10 <youraddress> 10 <youraddress> 10 <youraddress> 10 <youraddress> 10 <youraddress> 10 <youraddress> 10 <youraddress> 10 <youraddress> 10
Of course, you need to have a little more than 100XMR to be able to pay the fee.
One problem with this was pointed out, though. All of these 10 denominations would be in the same TX. If using more than one of them for some payment of >10XMR, it would stick out on the blockchain and these 2 (or more) outputs could be linked together because they come from the same TX. This is unlikely to happen by pure chance when picking decoy outputs to mix with so one could say there's a high likelihood that those 2 outputs belong to the same sender. Not only does this reveal that those 2 outputs were spent by the same person, but it could also reveal that they were likely spent. Then, any ring signature which uses one of those as decoy outputs would be weakened as well.
I'm not sure if it would have a significant impact to privacy if done once per wallet, but I'm inclined to think that it's not such a good idea, after all.