I sent you this as a PM, but I thought I might post it here, in case other users might have some additional insight
Obviously, this G92 system makes it awkward to reuse a set of tools on a new job where the top of the job zero is different. But its not impossible. All you need is to implement a system: beginning with the spindle up at home, set the tools to the top of a reasonably high guage, like a 6" or 8" gauge block sitting on the table. Pick a guage height that is typically higher than any part you are likely to fixture.
This will give you a set of raw length figures to put in your tool length offset table. This has nothing to do with workshift, BTW.
Now, to set the G92Z, you take any tool, touch it to the top of the part. Zero your operator axis display (if you can, this makes it easier to measure), and jog up to the top of the guage block. This should give you a positive Z value, which becomes your Z G92, so write it down.
Now, return the machine to home (spindle up) and modify the G92 Z that you will use in your program to the same value as you just measured.
In operation, with slow rapids first!! when you execute a tool length offset, you should see the toolpoint come down to the height of the guage block. The absolute display will not show any change, it will still be holding the G92 Z value, which if correctly measured and entered, will be the exact distance from the top of the job.
Your next programmed move can be your typical G00 Z1.0 which will bring the tool down to the rapid plane and you can then execute the program normally. Program with the top of the part as being Z0.
Let me know what you see in real life when you try this out. My experience was not with an old Fanuc, but with an old Bandit, but I'm reasonably sure that this phase of operation will be similar. It is possible, of course, that FANUC might invert a direction sign for offsets or something.