2.) I also noticed that if you have much input in one transaction, the transaction size gets bigger, then it requires some huge fee to confirm my transaction.(Let's say my example transaction above is executed).
- How can I prevent or solve this problem (having a huge fee)?
Say, you have 0.10 BTC in an address. You received it in 3 steps.
0.03, 0.04, 0.03
Now, if you want to send 0.05 BTC, your input will be 2.
If you want to send 0.03 BTC or lower, your input will be 1.
If you want to send 0.07 BTC, your input will be 3.
Input is which BTC are you sending, not related to address. It would be the same if you had 0.10 BTC divided in 3 address.
So, using multiple address won't give you any cons.
bitmover has linked a thread, when fee is lower, you can combine all the input into a single one. In that way, you can avoid the extra fee for more inputs.