Generally memory pointers will be residing in some register rather than in the opcode itself, so if you have a 32 bit instruction word, out of which 7 bits are opcode, out of the remaining 25bits some bits can be assigned to register combinations used by the opcode (Like src/destination etc).
So for an instruction like
MOV MEM(R1) MEM(R3)
depending on your machine's architecture, R1 and R3 can be 32 bits long or 64 bits long, or however long the designed made it to be. The memory addressing shouldn't be limited to any amount by the instruction bit-width except when designed that way.