How can i effectively split large outputs into smaller ones?
The protocol and the standard client allow you to spend your own unconfirmed change. Multibit didn't allow this, but I believe it's a recently/soon added feature.

When constructing your transaction manually there is little advantage to choosing confirmed outputs.

If you do want to split your outputs, you can do it with a sendmany transaction. The Bitcoin-qt GUI allows you to do this ("Add Recipient"), which can scale to several outputs. For a larger number of outputs you can generate the command programmatically and issue it with the command line.

Bitcoin-qt does not allow you to pay an address multiple times in the same transaction. There seems to be little justification for that, and it may be possible with the raw transaction API. Alternatively, you can generate several addresses and split the amount between them.