0. SSH to the gateway as usual, setting up a forwarded port to the SSH port of your internal machine. You shouldn't need to enable X forwarding on this first connection since it doesn't sound like you're actually running anything X from the gateway. Then start another SSH session, using X forwarding, on your home machine but connect to the localhost port that you forwarded to your internal machine. This should work but might be a little slow due to the SSH-inside-of-SSH encryption going on but it sounds like you were kind of doing that anyway.
This sounds interesting, and it appears to work in my testing at work. I'll try it for real tonight.
Great, I really didn't explain it very well but it looks like you figured out well-enough what I meant to convey. Anyway, hope it worked for you when you tried it for real. Khan St. Preest