I have an imported address in my blockchain hotwallet. It came from a paper wallet that was loaded with one transaction.
As it lived in my hot wallet, it was used for several send transactions that were less than the amount on the address. The transactions that the blockchain wallet formed used the entire amount on the address as the single input, and sent the desired amount to the receiver as the first output, then on the second output, sent the change back to the input address.
There were several small transactions receiving funds.
On the final transaction, draining this address, blockchain generated a transaction that had inputs from 4 different address in my wallet, however, in made 5 different inputs to the transaction using amounts from earlier receive and change output from previous transactions.
The final transaction triggered a double miners fee because of the size.
Was there any technical reason why a transaction needs 5 different inputs from the same address?
Because bitcoin doesn't work as you think
You have 5 inputs from the same address because you have received fund with the same address for at least 5 times. The concept of "balance" does not exist in bitcoin.
(This is actually an FAQ which I think we should prepare some canned response)