Muchas gracias por las respuestas. webez, tus soluciones son buenas, el problema es que mi nivel de prograación no está al mismo nivel y de ahí que cualquier cosa que se aleja un poco de los ifs y los whiles ya me confunde

por eso preguntaba cómo crear una lista... porque todavía no se hacerlo correctamente (esperemos que en verano con más tiempo le metamos un estudio serio al C y me deje de programar a modo autodidacta xq hago aguas)
Chano Marrano, al final he usado el qsort (aunq me lo han tenido que explicar aún más detenidamente de nuevo) y he conseguido tener los enemigos ordenados cómo quería (es decir, muchas gracias tio) haciendo así
qsort(tEnemigos, MAXENEMIGOS, sizeof(struct stObjeto), comparar_elementos);
Si no te importa, me podrías decir si es posible y cómo hacer uso de ésto con otros miembros de mi struct que no comparten el nombre[], como son jugador, arbol, bidon ... etc
Yo había pensado en redireccionar todos los miembros a otra struct que si que los numerara cómo tu dices y luego blitear, pero no se si ésto es posible, es una burrada que se comería la memoria de la PSP ... ni cómo hacerlo al fin y al cabo.
Espero vuestras respuestas cómo agua de Mayo, muchas gracias a todos!
PD:el juego ya lo tengo portado a PSP, sólo queda el problema de la ordenación y un par de paridas y de gráficos para sacar la primera beta.