Suppose I have an account with several thousand addresses, each having some BTC. I'm sending all my funds to another address. Will the transaction fees be proportional to the number of my addresses, or will it be roughly equal to the cost of a simple transaction?
More inputs will mean the transaction will take up more bytes. Since miners have only so many bytes in a block that they can fill with transactions, they won't put in a bigger transaction unless it pays a bigger fee.
This means that small outputs can be effectively unspendable (because the fee for the additional bytes it would take to claim them exceed their value) until and unless fees decrease.