Instruction Register Size in Processors
The instruction register generally holds only the bits that constitute the "opcode" part of an instruction (including any bits that affect addressing modes) for the duration of the execution of the instruction, so that the instruction decoding logic has access to it.

Any bytes in the instruction that are only operands are not generally held in the instruction register.

If the bus width of the processor is only 8 bits, then the two bytes of the instruction are fetched in separate cycles. The second cycle is executed after the instruction decode logic has decided that there is a second byte as a result of examining the opcode in the first byte.

And no, caches are not necessary to the operation of a processor, but they help eliminate bottlenecks when the processor is faster than the main memory.