There's no offset register, because there are no non-indexed addressing modes (except for JMP and JSR, which are obsolete with the extensions to the branch instructions). The 6502's zero page and absolute non-indexed modes have been re-interpreted as indexed, but with a default index register that's always zero.
I think I'm understanding you but just to be sure the final effective address of the Indexed modes are:
I think I'm understanding you but just to be sure the final effective address of the Indexed modes are:
That's exactly right.
I haven't used the indirect modes in real code yet; just for testing that they work. They're useful on the 6502 because they're the only way to have a variable address that can point to anywhere. Now that I can put the address in a register, 16-bit-address + register is the only mode I use most of the time. (a16,X) and (a16), Y are only there for compatibility.
The indirect branches, however, are useful. Sometimes you need a jump table.