Either create a transaction that breaks up your balance into enough separate outputs so that each transaction has one output that it can spend.
That's what I'm doing now, that's my plan right?
Yes, although you are going through quite a few extra and unnecessary steps to accomplish it.
Multiple wallets? Multiple addresses? What a mess.
One wallet with 2 addresses:
Address A has received a total of more than 100 BTC.
Create 100 transactions to send 1 BTC to address B.
Now address B has 100 outputs each valued at 1 BTC.
Create 100 transactions that each spend exactly 1 output that was received at address B.
Broadcast all 100 transactions at once.
Done.
Or create a chain of unconfirmed transactions and hope that nobody modifies any of them in a way that will change their transactionID.
I don't really understand what you mean with this
This is what you did at the beginning of this thread.
You sent a first transaction (unfortunately without a fee).
Then you spent the output from that first transaction in a second transaction before the first transaction has confirmed.
Then you spent the output from that second transaction in a third transaction before the second transaction has confirmed.
Then you spent the output from that third transaction in a fourth transaction before the third transaction has confirmed.
And so on.
You could to the same with 100 transactions all spending the output of the previous transaction. This is not safe and carries some risks.
If you make an error in an earlier transaction it can effect the later transactions (Such as accidentally failing to include a transaction fee, and then none of the later transactions confirm).
There is also a risk that some of the transactions will be rejected if anyone modifies any of the transactions to result in a different transactionID.
If these risks are acceptable, it is a relatively easy way to create 100 transactions from a single balance.