If you can find the text in RAM, you may be able to search a trace log for the RAM pointer and then work backwards. PCSXTrace works well for tracing, but it has no debugging capabilities. If you go this route then I suggest:
1. Find the string in RAM.
2. Create a tracelog in PCSXTrace like so:
a. Do a mark-only trace while not in the text. (ie. in town with no dialogue if it's an RPG)
b. Start a trace with all instructions right before you talk to the person
c. Stop trace as soon as you see the first letter of the string (to reduce log size)
3. Search trace log for the start address of the string in RAM. (It should be an $80xxxxxx value)
4. Work backwards from the RAM address to find the pointer. You may want to use a debugger for this.
The pointer table will hopefully be in RAM. If so, then copy 16 bytes or so of the file and search the CD image for them. Hopefully you'll get a match. If not, then the pointers are in a compressed file. The pointers could also be hard-coded. In that case, then they'll be split into half. Each half will be an immediate for an assembly instruction.