The only things that have "ID numbers" (actually not numbers as that might compromise privacy, more like pseudonyms) are addresses,
FALSE.
Transactions also have an ID.
Blocks also have an ID.
I'm fully aware of that one. The addresses are the only ones relevant to someone
holding Bitcoin, which is what the OP was referring to with Bitcoins having their own ID numbers.
A wallet is a collection of addresses that one person controls with the same private key,
FALSE.
Every address has its own private key. A collection of addresses do not share the same private key.
Sorry. That was a misconception of mine.
and every transaction also has a public key which can be seen
FALSE.
Transactions don't have their own public keys. An address and its associated private key has its own public key.
Poorly phrased, not false. Transactions do have visible public keys, they're just not created for the transaction. If they were, I wouldn't have claimed that public keys can reveal your transaction history.
(although sometimes public keys can allow people to see your transaction history, so you need to be somewhat careful with those too if you want anonymity).
FALSE.
Public keys do not make it any easier to see your transaction key than addresses.
This is the problem with sig ad participants. They just spew a load of false nonsense without any effort to be correct or accurate, and without any indication to the reader that they are just making stuff up. Then others read what they write and accidentally believe them.
Actually, I got that thought from my TREZOR, which claims in the account that XPUBs (which I now understand are like master public keys for the account somehow?) can reveal transaction history. I'm seriously interested, feel free to clear up any misconceptions that I have.