a) No force of nature ensures there be enough of one good to buy everything.
However, if "everyone" would sell "everything" at once, then the double coincidence of wants ensure that "everything" would be priced in money, and Bitcoin is arguably the best money.
b) Goods aren't fiat per se, even though some use "fiat goods" as a term to classify "bad goods" as a joke.
I don't expect any limit on regular goods, except imposed by their producer or by physical constraints.
Any good that requires work isn't fiat, only money is fiat in my eyes.
And that's why Bitcoin is not fiat: It is anchored in the real word by Proof-of-Work, which renders impossible to create Bitcoin out of nothing, unlike fiat.
You have to spend actual energy to create Bitcoin, and no amount of decrees could create more bitcoin.
The arbitrary amount that fixed the final supply of Bitcoin could have been any number known to man.
You'll find different explanations, both technical or philosophical, for why it's 21M and not another number, but what matters isn't the finite supply, but rather the infinite divisibility of the supply.
I see that you pretend that one code commit or one dev could change bitcoin in a few keystrokes, and that's entirely true. You could even do it yourself, and it has been done several times in the past already.
But this just create something else, which is not Bitcoin... and today market forces have priced these "something else" at a fraction of the price of Bitcoin.