This was answered long ago, but I can answer it here.
So, what happens if people can't afford a satoshi ? Then the code can be modified to add more decimal places. That is, the smallest unit then, instead of 8 decimal places, would become 10, 12, decimal places, and so on. The code allows for this.
bitcoin code is not made of decimals.
bitcoin raw transactions are and never have been measured in btc
the code does not allow for it.
alot of changes and rule breaking will have to occur to allow more sharable units of measure