Как процессор распознает длину команды?
Самое простое для понимания:
например два самых старших бита кода команды определяют ее длину
соответственно команды 
от 0000000 до 00111111 - будут однобайтовыми
от 0100000 до 01111111 - будут двухбайтовыми
от 1000000 до 10111111 - будут трехбайтовыми
от 1100000 до 11111111 - будут четырехбайтовыми

Но это не для 8080. Просто для понимания общего смысла.

А так - на структуре процессора видимо попадался элемент "дешифратор команд" - собственно это его задача понять по коду команды, что означают последующие байты.

2. Однобайтных команд у 8080 больше одной. Навскидку: NOP, HALT, INT3. RET*, сдвиги, обмен между регистрами 

3. если говорить о 8080 - то удобнее и понятнее даже не логически, а схемотехнически... а так - один из источников
Первый байт показывает какая это команда, или тип команды. Далее идет логика которая отрабатывает либо эту конкретную однобайтовую команду, либо осуществляет чтение следующих байт для конкретизации команды дальше. Т.о. как только процессору (с помощью дешифратора команд) становится понятно что за команда, он ей выполняет -- дает ток нужным элементам в нужном направлении.