Keys for mapping are hashed to derive the storage address, so the limit to a mapping is the logical space addressable by the key type. All mapping slots are implied to be pre-initialized to 0 (or the equivalent of the type being mapped to). This means, in your example you can read and write to any address in the
address space. You can delete an element with the
delete keyword however if a mapping element is a type that itself contains a mapping (say in a struct), deleting the element will not delete the data in the struct's mapping member.
Solidity and contracts in general have no access to Events. I think
getFilterChanges must be from some external API you're looking at?