Если вы не беспокоитесь о том, чтобы пискать до последней капли производительности, предложение использовать HashSet или бинарный поиск вполне обоснованно. Ваши наборы данных просто недостаточно велики, так что это будет проблемой в 99% случаев.
Но если это будет происходить только один из тысяч раз, а производительность критична (и доказано, что это недопустимо при использовании HashSet / бинарный поиск), вы, безусловно, могли бы написать свой собственный алгоритм, который обходил отсортированные списки, выполняя сравнения как ты пошел. Каждый список будет проверен не более одного раза, и в патологических случаях он не будет плохим (если вы пойдете этим путем, вы, вероятно, обнаружите, что сравнение, предполагая, что это строка или другое нецелое значение, будет реальным расходом и это оптимизация, что будет следующим шагом).