Okay, it's only a minor start, but if you put a CPU check/function at c03a5c, you should be able to look at what's in RAM address 7e9dde to find the loaded text. Note that the first 4 bytes at 7e9dde seem to be non-text data - the actual text seems to appear at 7e9de2.
When the game is loading text into that RAM address, it appears to cycle through all of the lines assigned to that NPC. Since my tests were done at the start of the game, I don't know how these alternate lines are handled. If we're lucky, the above CPU address + RAM address technique will still work, but there's no guarantee. Hopefully that makes sense.