If there is no concern about running out, people won't mind giving up their excess XRP for a pittance, meaning spammers can acquire those XRP and use them to spam for a pittance as well. It's not like there is a happy medium. Pick any actual price and it becomes obvious. If XRP cost $0.000001 on the market that's a million spams for a dollar - too cheap to prevent spam. Hence spammers will bid up the price until it is no longer worth it for them. This works the same way even if there are a quadrillion XRP.
Any way you slice it, 1 XRP represents the ability to spam one time, and hence will tend toward the market price of however much the ability to spam once is worth to a spammer (as a bare minimum).
Spamming one time won't do anything. It takes hundreds to have any significant effect.
The type of spam we're trying to protect against is meaningless transactions that clog the network and block legitimate transactions. And it doesn't matter what the cost is, so long as it is non-zero. For an attacker to prevent your transaction from getting through, he must pay a higher fee for each of his transactions trying to clog you than you are willing to put behind that one single important transaction. It makes no difference if that's .00001 XRP or 50 XRP.
When the network is overloaded, the transaction fee is "bid up" to accommodate the load. Those with important transactions can just raise the fee they pay. Those with unimportant transactions can just wait it out. It just has to be something with some non-zero value or that an attacker will eventually run out of (or have to pay for).