ну можно в духе вложенных массивов сделать:

Код AS3:
function getObject(key1, key2)
{
var subDictionary = _dictionary[key1];
if (subDictionary == null)
{
retunr null;
}
else
{
return subDictionary[key2];
}
}
function setObject(key1, key2, value)
{
var subDictionary = _dictionary[key1];
if (subDictionary == null)
{
subDictionary == new Dictionary();
}
subDictionary[key2] = value;
}
Вопрос применимости как и в случае с вложенным массивом (если забыть об извратах типа index = i * 1000 + j):
1. Eсли объектов во вложенный dictionary набивается немного или ищем редко
- делаем перебором - создание влоденного словаря обойдется дороже
2. Eckb объектов во вложенном словаре много и ищем часто - используем этот способ - поиск обойдется дороже.
3. Если сами не можем сказать что такое "много" - спрашиваем профайлер.