
Yo no creo que en este caso sea recomendable la validación en JavaScript, pues estamos hablando de un proceso crítico de inserción de datos, en donde se supone no debería haber duplicados, si yo desactivo JavaScript, entonces podría envíar registros duplicados a la base de datos, además me parece que este tipo de validación recursiva debe ser mucho más eficiente del lado del servidor.
Según entiendo se deben validar entre sí, y pueden llegar a ser más de 100, realmente es muy peligroso hacerlo con JavaScript. El proceso para tendría que ser básicamente dos ciclos, el externo para iterar el número de elementos de una colección (un arreglo formado con request.form), y el interno para comparar el elemento iterado en ese momento con cada uno de los elementos del arreglo en el índice de i+1, si encuentras uno igual, terminas el ciclo y lo regresas, de lo contrario, todo prosigue.
Es solo una idea de la implementación, como empezar te corresponde a tí.
Saludos