UDP не является хорошим выбором для постоянных соединений; TCP - намного лучший выбор. То, о чем вы говорите, должно быть возможно с WCF; основной проблемой будет получение первого IP-адреса для подключения без централизованного расположения.
По сути, вы напишите службу WCF с определенной конечной точкой, ваша служба может быть размещена клиентским приложением, чтобы вы могли подключаться к другим, работающим с той же программой; вам просто понадобятся их IP и порт для подключения к их конечной точке.
С учетом всего сказанного, в зависимости от характера вашей P2P-системы, написание собственного TCP-клиента и сервера может вам помочь, так как WCF в основном предназначен для передачи сообщений туда и обратно.