Трудно ответить на вопрос, в основном потому, что вы ищете проблему, которая соответствует решению, а не наоборот. Впрочем, я добавлю два цента.
Переменные сеанса по существу хранят информацию для сеанса текущего пользователя. К ним обращается ключ, поэтому они действительно ведут себя так же, как хеш-таблица. Они могут даже быть реализованы под крышками (частично) как хеш-таблица - я не знаю.
Важно отметить, что переменные сеанса - это абстракция от того факта, что веб-приложения не имеют состояния. На самом деле происходит то, что вы сохраняете значение в сеансе, а когда вы возвращаете страницу, это значение сохраняется где-то (обычно в памяти или в базе данных). В следующий раз, когда от этого человека поступит запрос, переменная будет перезагружена.
Хеш-таблицы полезны в основном для быстрого доступа к большому количеству объектов или значений с помощью ключей поиска. Поскольку сеть не имеет состояния, а сеанс ограничен одним пользователем, я не вижу большой пользы для хеш-таблиц. Если вам нужно быстро получить доступ к фрагменту данных в большой коллекции, сохранение всего хеш-таблицы в конце запроса и перезагрузка его в начале запроса просто для быстрого доступа к элементу вряд ли будет эффективным использование ресурсов.