se puede hacer un formulario dinamicamente llenando los campos con la tabla. a simple vista, te faltan dos cosas: asignar el valor al campo y que php reciba los campos en forma de array. para el primero, a la vez que vas creando el campo tienes que concatenar el dato con el string.
Código:
document.write("<input type='hidden' name='nombres' value='", nombres[p], "'>");
// asi sucecivamente con el resto de los campos: email y pass.
en javascript, la variables no se interpolan en los string como sucede en php. por eso si incluyes el nombre de la variable en un string simplemente lo toma como un string.
para lo segundo, simplemente tienes que agregarle un par de corchetes al final del nombre del campo. es decir,
Código:
document.write("<input name='nombres[]' ... >");
// igual para los demas campos;