Здравствуйте, Аноним, Вы писали:
ME>>Использовать собственный allocator, который будет выделять память из превыделенного пула.
А>Весело... Еще менеджер памяти самому писать 
Любишь кататься...
Попробуй STLPort — у него достаточно продвинутые аллокаторы.
ME>>Использовать в качестве контейнера отсортированный vector, для поиска использовать equal_range, для вставки upper/lower_bound.
А>А разве такой есть, что то не могу вспомнить...
Обычный вектор превращается в сортированный простым мановением std::sort

Впрочем, можно обратить свой взор на AssocVector из Loki.
ME>>Можно, но не inplace. Удалить элемент, изменить ключ, снова вставить.
А>Так и делаю по сути, но что мне это не нравится...
А что делать? Такова суровая правда жизни...
А>Я и сам не могу понять, почему delete всех элементов так долго работает, помоему delete должна быть очень простой операцией...
К сожалению это не так.