Yes.
For adding more decimal places, we have to change the consensus rules and a hard fork would be required.
According to consensus rules, the amount field in a bitcoin transaction must be an integer between 0 and 2100000000000000 and we can't send 0.1 satoshi or 0.01 satoshi.
Correct me if I'm wrong but couldn't this be done in the wallet side of things? As it's mostly just moving of decimal places anyway.