Сначала создайте коллекцию нужных вам номеров.
var required = new[] { 1, 2, 3 };
Затем группируйте свои пары письмами.
var groupedPairings = pairings.GroupBy(p => Letter, p => Number);
Затем отбросьте те пары, у которых нет трех необходимых предметов. (Логика здесь «взять сбор необходимых предметов, удалить что-либо в группе, и убедитесь, что не осталось ничего».)
var groupsWithRequired = groupedPairings
.Where(g => !required.Except(g).Any());
Теперь, если вы просто хотите, чтобы письма, вы можете просто сделать
var lettersWithRequired = groupsWithRequired.Select(g => g.Key);
или если вы хотите словарь отображения из письма к своей коллекции чисел, вы можете сделать
var dictionary = groupsWithRequired.ToDictionary(g => g.Key, g => g.ToArray());
var numbersForA = dictionary["A"]; // = {1, 2, 3, 4}