Actually even 1 satoshi can be spent and there will be 21 million x 10^8 Satoshi which i think will be more than enough for everyone. Also by the time when all bitcoin will be mined, world population may not remain 6 billion only.

you can't spend one satoshi as long as the fee are higher than 1 satoshi, and will never be below one satoshi unless again you are willign to hard fork and make another unit which is smaller than 1 satoshi
you have the option to send without fee but it's not feasible anymore currently, the TX will just return back, the minimum spendeable is equal to the fee at least
assuming 50k satoshi per transaction as a average you have 2k satoshi much for each btc, still 42B "50k" satoshi to be divided to everyone