They don’t have an unique identifier, and since there are 45 billion Ada and each Ada can be split into a million Lovelace, there is no scheme whereby tracking the individual Lovelace is more economical than what is being done now.
That is close to how the ledger actually works. Instead of tracking each Lovelace it tracks Unspent Transactions Outputs (UTxO). The ledger only keeps track of the current UTxO set, not the history, but the history is needed to build and validate the current UTxO set.
If I give you a ledger state snapshot, how do you validate it? How do you know that I have not added extra UTxO outputs that increase my personal balance? The only way you can validate the current ledger state is by starting out at the initial ledger state (containing just the initial genesis distribution) and applying each block one by one.
I can highly recommend the book “Mastering Bitcoin” By Andreas Antonopolis which is gives an in depth explanation of how cryptocurrencies work (ADA is close enough to BTC, and you can ignore chapters on BTC mining if you want) and was written to be understandable by a layman.