- There are a whole lot of bills to keep track of
- The serial numbers are not easily stored and compared with computers (at least not for private individuals)
That second point, bills not being on computers, is why cash isn't the easy answer to the banking problems we are discussing here. You can't pay someone across the country very easily using dollar bills.
With Bitcoin, there actually aren't any bills or tokens with serial numbers attached to them. There are however, as you point out, unique addresses for each transaction. Like the vast number of paper bill serial numbers, there are a lot of possibly Bitcoin addresses. Far, far more than there are paper dollar bills, sands in the sea, and stars in the sky, actually.
It is, however, somewhat possible to track Bitcoin going too and from the addresses because it is all on computers and this is a trade off of Bitcoin being permission-less and not controlled by a single entity that can decide to unbank you, and online so that you can send it to people across the country.
So, as you point out, if someone publicly associates themselves with a Bitcoin address, and if they reuse that address over and over, you can see how much Bitcoin is going into and out of that address, and if the other addresses in these transactions are also known, then you can easily see that Bob sent Alice some Bitcoin. Address reuse and publicly associating yourself with an address was unfortunately common in the early days of Bitcoin, but practically it never never happens anymore. Instead each and every transaction uses a new unique address, and as I said before, there a vast huge number of possible addresses.
As for exchanges, yes, they do have identities associated with Bitcoin addresses. You can easily accept bitcoin from an exchange and then transfer it again to other addresses that have not been publicly associated with you. Also, hopefully someday exchanges won't be necessary.