I've heard there are somewhere in the range of 80-100 million possible UTXOs, where users could hold their own keys, with their BTC savings inside, and still have them spendable in the future.
Unaware of any such study. I suspect the range could be larger, but that could depend on what use Bitcoin users make of it.
Best answers would factor all limits including:
- BTC believed to be lost forever
To err on the safe side, let's consider people only have keys for 10 million Bitcoin.
To err on the safe side, let's consider everyone is using the legacy P2PKH invoice address type which should have a relatively large dust limit of 547 sat/vB.
- existing block size limit over time (how long would it take to saturate all possible UTXOs)
I'm not sure I understand this, but I suppose this wouldn't be very important as the socially determined price of an UTXO would restrict the number of users holding their own keys way before whatever this is.
- A reasonable amount of sats within the UTXO higher than the dust limit to then send.
Let's suppose the worst case stated by the rumour you heard and only 80 million UTXOs are possible in practice. Because people only can access 10 million Bitcoin, the average UTXO holds
(10 * 1000 * 1000 * 100 * 1000 * 1000) / (80 * 1000 * 1000) = 12 500 000 sats.
That's more than 22851 times larger than the dust limit we are using, but if some people are hoarding, others could be using UTXOs not much times larger than the dust limit.
So yes, this could mean on-chain transactions are too expensive, and Bitcoin can't be used easily and cheaply, but that was already known years ago and is the reason why some side chains and some layer 2 systems have been designed.
- Any other possible restricting factors on resources that might limit total userbase holding their own keys.
If the price goes too high, some people would in practice become unable to afford to use the chain directly even if they wanted to, and they should want to, else they are forced to trust the system. But any economic system which has to rely on trust to function, is subject to crises of trust.
Crises of trust deep enough can be followed by bank runs. In the old bank runs, depositors lost money. Then fiat money was invented, and bank runs meant only real losses for money losers, no longer the nominal loss, now protected by the printing presses.
A forcefully trusted Bitcoin is a reversion to pre-fiat money, in which depositors are less protected than in the fiat system, as in Bitcoin not even the nominal funds are protected1. This is the reason block chain economies can't work, or at least aren't better than the fiat system, but worse, unless their users can be sovereign if they want.
A block chain system where non-dust UTXOs are too expensive is a system where newcomers are forced to choose to be not sovereign. Most of them would be OK, but for some of these people who won't have real possibility of true sovereignty on the Bitcoin chain, Bitcoin would be deemed a legacy system controlled by a powerful old minority to their advantage and benefit from the poor younger majority (some older people maybe remember late 2000s), and would be tempted to derive a part of their wealth to some alternative chain or economic system. Eventually this would mean a growing mass of human capital being lost from Bitcoin. The larger the human capital out of Bitcoin, the fewer Bitcoin's chances of survival. Unsurprisingly Core, Blockstream, Chaincode, Coinops, other organizations, individuals, your local bitcoin chapter, allocate a perceivable amount of resource, effort and/or time to human capital buildup and decentralization.
In conclusion, at some point Bitcoin has to somehow solve the problem of UTXOs too expensive or it is bound to either an eventual hard fork, a share losing against competitors, another civil war, or some other failure or solution event. Fortunately, the price is currently so cheap, anyone who wants it can afford to store funds on-chain. But the problem is a time bomb with its clock ticking.
This mail by vjudeu touches the topic in a generally unrelated thread.
1 Bitcoin isn't currency because (among other possible reasons not on topic) supply is not elastic. Bitcoin is an asset, as an asset, can be used as such, to e.g. hoard, store value, or back currencies.