Yo lo hice con un programa, pero hoy en día lo haria con un editor HEX.
Si lo vas a hacer con un programa, te recomiendo en Pokémon Game Editor tiene una opción que dice Ability Editor, ahí lo puedes hacer (aunque vas a tener que repuntear mucho si usas las descripciones oficiales del Rojo Fuego).
Pero si lo haces con HEX (lo cual te recomiendo) la tabla de las Habilidades está en el offset 24FC40 y las descripciones en el offset 24F3C0. Para ello te recomiendo usar WindHex con la tabla de Thingy v32
Saludos y suerte en tu proyecto