What's the best strategy to send btc from one wallet to a address list with transaction id for each payment?
You can do this with sendmany.
It accepts a minconf parameter (which defaults to 1, for 1 confirmation) - it will spend outputs that have at least minconf number of confirmations.
Setting minconf=0 will allow you to spend unconfirmed coins, such as from the change output of a previous sendmany transaction.