Когда клиент подключается к экземпляру именованного канала, способ, которым операционная система выбирает, к какому экземпляру сервера установить подключение, насколько я знаю, недокументирован. Тем не менее, эмпирически это, кажется, делается на основе циклического перебора.
Если вы готовы полагаться на недокументированное поведение, которое может измениться с помощью пакетов обновления и исправлений QFE, ваш клиент может продолжать закрывать свой дескриптор канала и снова вызывать CreateFile, чтобы получить новый - каждый раз, когда он будет подключаться к новому экземпляру сервера трубы. Тем не менее, есть проблема с этим в том, что клиент не будет знать, когда остановиться. Я полагаю, вы могли бы изобрести какой-то механизм, включающий ответ от сервера, чтобы разорвать цикл, но это далеко не удовлетворительно. Это не то, для чего были разработаны именованные каналы.
Настоящая цель нескольких экземпляров сервера в конвейере состоит в том, чтобы позволить конвейерным серверам одновременно обрабатывать несколько клиентов. Обычно один и тот же серверный процесс управляет всеми экземплярами.
Вы действительно хотите изменить ситуацию: то, что вы считаете своим клиентом, должно быть сервером и должно создавать канал и управлять им. Процессы, которым требуется уведомление, будут затем подключаться как клиенты именованного канала. Это шаблон, который может быть легко реализован с использованием WCF, с дуплексным контрактом и NetNamedPipeBinding, если это возможно.