Sim, as portas TCP e as portas UDP são conjuntos de portas completamente separados, embora sejam ambos UInt16s e gerenciados de maneira semelhante.
Você pode criar seu próprio protocolo de transporte e fornecer quantos bits desejar para o equivalente de um número de porta do seu transporte e nunca ficar sem números de porta. Você também pode criar algo na ordem de 256 protocolos de transporte (embora alguns já sejam usados) e definir inteiros enormes como sua variável de número de porta para todos eles.