A satoshi is the smallest unit for bitcoin, but lightning can transact with even smaller units while channels are open. The amount is rounded down to the nearest satoshi when the channel is closed and broadcast to the blockchain to adhere to bitcoins limit.
I'm not sure if that means the LN protocol cannot be divisible further. I suspect a future version could, but the current LN protocol could not go below a millisat.
You can't take a single sat on chain either. Any UTXO amount below the dust limit is essentially unspendable due to the fees required to spend it. Millisats exist in a similar way that sats exist. As an accounting unit. Not necessarily a discrete and fully transferable unit.
The supply of Bitcoin is not 21mil BTC divisible by 100mil sats. The supply is actually 2,100 trillion sats. That's it.
This isn't splitting hairs. There is no division going on anywhere in that file. To increase the number on line 15 (sats per BTC), you wouldn't be increasing the "divisibility" of Bitcoin. You would be increasing the supply of Bitcoin (2,100 trillion sats). And that would require a hard fork.
LN can run in derivatives known as millisatoshis, they're just a representation of a claim of a fraction of a satoshi, there's no such thing on the base chain, it doesn't know it exists. Just a function of LN
Also keep in mind that if in the future there is a good reason to increase granularity below sats that benefits the majority of the network and hurts no one, it is not unthinkable that it would be implemented.
10^-8
of a bitcoin, while picobtc are10^-12
of a bitcoin.