Discrepo respecto a nuestro amigo Sayer, es posible agregar nuevas canciones sin reemplazar las existentes, pero deberás crear una tabla nueva, repuntear y toda la historia. Como bien ando diciendo, la práctica hace al maestro, así que si quieres hacer lo que propones, deberás ponerle empeño. No sé si usas Fire Red o Ruby, pero te dejo un tutorial de Pokecommunity que puede serte de utilidad: >>Añadiendo canciones a Fire Red<<
Si llego a encontrar otro tutorial más general, te lo haré saber; sobre la segunda duda: debes preguntar al autor del hack y/o al que se encargó de insertar y/o componer las MIDI's.