I just can't see bitcoin taking off in a big way, when it is capped at 21 million. Imagine 21 million divided between the facebook population (lets leave country and nationality out of it) 500 million or half a billion users . That's not a lot of bitcoins to go round, it won't buy you a lot. To be honest it mirrors the goldbugs who want to base the real currency of there countries on a gold, or a gold standard. Unless the the world changes it's monetary system from a fractional reserve system to 100% reserves and bit coin does away with the cap, only then could it work.
We live in an exponential monetary system so the money supply has to be exponential in nature and character to fit in with it. If bitcoin were to ever challenge let alone replace our existing money supply it would to change to an exponential currency. The only other way would be to change the worlds money from a fractional reserve to 100% reserve system.
Your thinking is way too rigid here.
Bitcoins can be subdivided to 8 decimal places without any changes except to the client to allow you to use them. The number 1 is just an arbitrary value. Think of it this way.... a common wage used to be in cents per day. Could you imagine being paid even 30 cents per day? There was a time when that wasn't bad money! Hell the US used to mint "mils", which were fractions of a penny!
Think of gold. Its sold in grams right? Well 1 gram of gold is over $300 last I looked (a long time ago). Of course, gold is also divisable. If you only need half that, I can sell you half a gram of gold, you can then spend 1/4 that if you need $75. Makes sense right? All these values are relative, they all float against eachother.
Right now, btc sell for around 70-80 cents each. Clearly 21 million 80 cent pieces, even infinitely divisable ones, are not going to run a whole economy. All that means is that a growing economy should drive up btc values... until they can be subdivided enough to provide enough value to run the economy.
Does it really matter what 1 btc is worth? If 1 btc is worth $100 usd, then, we will trade for $1 values in .01 btc