The 8080 instruction encoding is based on 3 bit fields
for register
selection, so octal is natural. Split octal for 16-bit addresses
resulted from the way 16-bit addresses were stored in memory as two
consecutive bytes. If a JMP instruction was stored in memory in octal
as 303 222 111, it was more natural to consider the address to be 111
222 in split octal rather than 044622 in 16-bit octal.
As an aside. I've worked on a machine with an 8-bit microcode address
that was normally written as 4 octal digits. The address was split into 2
nybbles (this makes a lot of sense based ont he procressor design) and
each nyble was writen as as octal number from 00 to 17. So the highest
address was written as 1717.
[It's the HP9800 CPU if anyone's curious...]
-tony