Saying that there can only ever be 21 million Bitcoins is an empty scarcity argument, because the actual value of a Bitcoin is not yet settled by the market.
The 21 million is limited by the mining software. The USD / BTC exchange rate is not relevant to this.
Well, it is. The more value that accrues to a Bitcoin the greater the demand for subunits to fractionalise value.
The number of fractional sub-units is also defined. The minimum unit is 1 Satoshi. There are 2,100,000,000,000,000 of them.