I've been curious about why transaction had to deal with spending of all inputs on a particular address.
You don't have to spend all the UTXOs you have to make a transaction.
Let's say you have 2 UTXOs and they are both assosicated with the same address.
One is worth 0.2 BTC and the other one is worth 0.3 BTC. If you want to make transaction paying 0.1 BTC, you can use each of UTXOs you want. You can also use both UTXOs.
So the change I'm receiving can I call it an output or a new input ??
The change you receive is the output of the transaction and you can use that as an input in a new transaction.