I think the way to go with this problem is to implement an extension method that adds to List in a sorted manner (just 2 lines of code ;), and then List can be used as a sorted list (assuming you avoid using List.Add(...)):
public static void AddSorted(this List list, T value)
{
int x = list.BinarySearch(value);
list.Insert((x >= 0) ? x : ~x, value);
}