Would it be possible to reduce the number of UTXO by making a transaction to self?
For example, if there are 30 payments to the same address A, this means there are 30 UTXO (assuming nothing was spent so far). If a transaction from A to A would be made (spending all BTC and sending all back to A), would this reduce the number of UTXO?
Absolutely. You can send transactions to yourself to consolidate the UTXO set. As an added bonus, this will reduce the number of unspent outputs in your wallet, thus simplify (and speed up) output selection on spend. It can also reduce the size of created transactions, thus reduce the total amount of fees paid.
There is a slight disadvantage to privacy as you'd be linking together outputs that might have stayed unlinked. But it could be done strategically for outputs that are known to be linked already (e.g. those zillions of small payouts).
If this is the case wouldn't it be make sense to allow (as an exception) these kind of transactions to be done by anyone (i.e. *without* signing) in order to reduce the number of UTXO, provided that:
This is not possible. Other nodes and miners do not (and should not!) know what UTXOs belong together. That would be a privacy breach. Also they cannot generate a new address for you to send it to.
This kind of consolidation is the responsibility of the wallet software, directed by the user.