Si utilizas flags, por ejemplo, para determinar qué sitios tienes desbloqueados, claro que puedes hacerlo. Si utilizas Fire red estaría bastante bien, porque podrías utilizar los mapas de las islas para esos lugares. Para viajar puedes hacerlo con un script en el que se cree un multichoice donde puedas elegir el lugar donde viajar. Para lo otro, puedes usar el comando random hasta un valor determinado cuyo resultado se guardará en la variable LASTRESULT y puedes comprobar. Dependiendo de cuál sea ese resultado, haces una u otra cosa.
La verdad es que lo puedes hacer tanto en hack como en RPG. En RPG es cierto que costaría menos y puede quedar mejor por el tema de las limitaciones y las opciones que tienes ahí. Pero como poderse, se puede también en un hack.