You can treat 2 bytes (not just in the zero page, though) as indirect jump addresses, yes.
Doing something like "JMP ($2345)" will jump to whatever $2345/$2346 is pointing to.
Doing something like "JMP ($2345)" will jump to whatever $2345/$2346 is pointing to.
But only a little. I didn't have the money to buy an assembler or the skill to write one so I would write out my programs in long-hand on graph paper and hand-assemble them before entering hex codes manually. While not the most efficient process, it did do a good job of encoding things into long-term memory.
In the meantime I've forgotten most of the 68000 and z80 instruction sets.