OP is mistaken about the quantity.
It is not exactly 21 million bitcoins. That is just an approximation.
The exact number of units that the protocol is designed to release is:
2,099,999,997,690,000 satoshi.
That's two quadrillion, ninety-nine trillion, nine hundred ninety-nine billion, nine hundred ninety-seven million, six hundred ninety thousand satoshi.
It will be easy for off-chain accounts to subdivide beyond that. It is entirely possible that, for off-chain accounts, you could transact in pico-bitcoins. In that case you would have
20,999,999,976,900,000,000 pico-bitcoins (lets give them a slang name of picobits) to work with.
That's twenty quintillion, nine hundred ninety-nine quadrillion, nine hundred ninety-nine trillion, nine hundred ninety-six billion, nine hundred million picobits.