Примерно так (пишу прямо тут - потому могут быть "очепятки"):
string[] lines = File.ReadLines("c:\\file.txt");
var pairs = new List<KeyValuePair>();
foreach (var line in lines) {
string[] split = line.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries);
if( split.Length != 2) continue;
var pair = new KeyValuePair<string, string>(split[0], split[1]);
pairs.Add(pair);
}
Будете иметь список пар ключ/значение. Брать из него можно по индексу как из массива через квадратные скобки индексатора. Удалять из списка можно по индексу с помощью метода
RemoveAt.