6502 registers limited? Pah! We had loads to choose from! A, X and Y for a start. Then we had the status register, a stack pointer (generally best left to the processor itself, but you could have fun manipulating it) and a program counter (current execution address).
It was a dream compared to the Z80.