Может быть, это может сработать:
myhashtable.Keys.Select(k => new List<string, int>() {k, myhashtable[k]})
.OrderBy(item => item[1]);
Это должно дать вам список списков, с вложенными списками, содержащими ровно два элемента, ключ и значение. Сортировка по значению (второй элемент).
Я не совсем уверен, если Hashtable имеет тип KeyValuePair<K, V>
... что-то подобное может также работать:
myhashtable.Items.OrderBy(kvp => kvp.Value);