Z80 Instructions with accumulator as both operands?
The ADD A,A instruction is many times seen being used to multiply the value in A by 2. 
It can also be viewed as a "shift A left by one".

The ALU of the microprocessor will have multiplexers that are used to select the sources for the OP1 and OP2 sides. These MUXes have enough inputs to allow all possible sources to be selected and fed to the ALU inputs. There is certainly nothing to have prevented the designer from connecting the output side of the A register to one set of inputs on the OP1 MUX and to another set of inputs on the OP2 MUX.