Is there such a thing as an "ERC20 compatible Ethereum address"?
This is correct.

Any Ethereum address is compatible with ERC20 tokens (even a contract address).

There is also the ERC223 standard, which isn't finalized, and if approved would allow contracts to accept or reject specific tokens. In such a case, contract address validity would be a valid concern.

However, for ERC20 tokens, there is no such issue, and every address works (although some tokens include safeguards against sending to 0x0000000000000000000000000000000000000000)