Pues a ver, con ASM por supuesto que puedes, te buscas un buen Dissasembler y empiezas a investigar la Rom, a hacer anotaciones y buscar patrones para ver si existe algo como los "Scripts" de GameFreak.
Para la parte gráfica, hay un tutorial de como buscar imágenes en cualquier rom (Que escribí yo) que también te vale para cualquier Rom que use gráficos comprimidos (A lo mejor tienes suerte y los usa).
Para la parte de Textos, solo usan la tabla ASCCI, asi que no hay mucho problema.
El Sonido lo puedes cambiar con Sappy.
Las demás cosas (Como mapas, pokémons que puedes encontrar, ratios de reclutamiento, etc) debes buscar todo con ASM / Hexadecimal.
Espero que te sirva de algo :)
PD: Había una sola herramienta suelta por ahí que servia para cambiar los posibles pokémons con los que querías empezar :P