Вам нужен словарь, который отсортирован по значению, но также имеет индексацию по ключу. Вы не можете упорядочить данные двумя способами одновременно, поэтому вам понадобится две коллекции: ваш базовый словарь значений ключей и словарь обратного просмотра. Ваш первый - стандартный словарь, второй - SortedDictionary
с теми же данными и ключами и значениями поменяны местами. Вы должны будете синхронизировать их.
Вы также можете написать собственную реализацию словаря для инкапсуляции этих двух коллекций в одну.