I don't know how to give step-by-step instructions, and it took a few tries to get it to work, but here goes...
First, you've got to figure out the basic save file structure. It's all plain-text, so nearly any text editor will do (avoid word processors like Word, since they like to screw with the file format, and IIRC Notepad belches on large files).
The save file consists primarily (maybe entirely) of a large nested object tree. Objects have the following format:
# # # # # <object type, size, &c>
...
# # # # <attributes>
...
-1
...
<all kinds of string data, like object names, character jobs, item descriptions>
...
Z
...
<inventory: other objects may be inserted here in their entirety, so the current inventory block may not terminate for a looong time>
...
-1
...
<installed subcomponents: formatted like a second inventory block>
...
-1
To understand the attributes immediately following the object declaration (object type, size, and such), it helps refer to doc\typelist.txt for assistance. I also recommend browsing the source code for constants as necessary.
To add the staircase, IIRC I searched until I found the contents of the area I was in (last level of final spire in this case). I duplicated the staircase that takes me to the previous level, gave it a custom name, slightly changed its XY-coordinates, then changed its destination. Changing the destination required finding the ID number of Theles L4. You should be able to find that area's name by scanning the files in the series\ directory. Search for the name to find it in your save file, then look for its declaration. IIRC areas have their ID as one of the five #s in that line.
That's sort of the gist of it.