Basically I want something like Dictionary
Did you consider holding two dictionaries, one for each key? Adding an item would add it to both.
Removal means removing from both dictionaries too, and requires both keys. To remove with just one key, the item would have to store both keys. If it doesn't already hold both keys, you could wrap it in a container object that holds both keys and the item.