Nada, al final, tras unas cuentas pruebas..., conclusiones:
1.- Sí, los eventos se pueden crear dinámicamente, y eso no da problema,
2.- Se creen como se creen los eventos, tienen que ejecutar siempre lo mismo, si no, toca crear tantas funciones como eventos tengamos, porque no aceptan argumentos y, aunque los acepten (truquillo que he encontrado por ahí), no guardan los valores de los argumentos como algo fijo para ejecutar en el futuro. Es decir, es un coñazo crear eventos mediante addEventListener.
Con lo que digo en el punto 2 me refiero a que si, al menos, cuando se crea el evento, se guardase lo que en ese momento se pide que se ejecute, no habría problema, pero no es así. Así pues, si tenemos argumentos variables, ocurre que (siguiendo mi primer ejemplo), usando este truquillo:
Código PHP:
var imgtest[z] = document.getElementById(z).addEventListener('load', function(){iloaded([z])}, false);
Como no se guarda dentro de la variable imgtest lo que se le manda en cada momento (recordad que mi imgtest era un array), es decir, que iloaded se ejecute con el argumento Z con el valor que tenía en ese momento de crear el evento.... pues no funciona el crear eventos dinámicamente. Toma el que tiene Z en el momento de la ejecución.
Vamos, un cachondeo xDDD
Así que tocaría crear, a mano, tantas funciones como eventos tengamos y necesitemos, pasando los argumentos necesarios para cada función/evento.
Como decía, un coñazo.