is the known information on VRC4.
Disassembling and reassembling an entire NES game is SEVERE overkill for just a translation. (and yes, I ended up disassembling much of Momotaro Densetsu's opening code just to move a single menu, so I know what crazy is
If you're going to be disassembling stuff, it should be limited to stuff related to translation, like text routines and window functions.
Some hex will bring up 3 kanji while others will bring up 1.
Do you mean kana? Because I recall the Goemon Gaiden games were all-kana.
But anyways, what you describe sounds like a simple form of compression known as "dictionary" or "substring". It's pretty common, especially in RPGs. If you plan on writing a custom text dumper, it's pretty simple to code, you just need to know how the game uses the string numbers to look up the string from the dictionary.