Yes, there are only 21 million bitcoins of which 18.5 million have mined. Bitcoin is infinitely divisible so you can give .00000000001 change if necessary, the same applies if you want to purchase .000000001 bitcoin. You do not need to purchase whole bitcoins. The difficulty to mine bitcoin is...