Since it is signed with the private key wouldn't he need to know the public key?
No. Or rather he'll compute it with the information he already has.
If the address has been used as an input for a tx the public key can be located in the blockchain but the public key is still needed right?
Yes, it can. But no, it is not needed in any case.
IF the address has not been used as an input for a tx the public key is not available in the blockchain.
Correct, but irrelevant. You do not need the public key to validate the signature.
This is because Bitcoin uses public key recovery.
F'king MATHMATICS. HOW DOES IT WORK?
With the only message and the signature Bitcoin recovers the public key mathematically (technically two more bits are required than the signature, but our signatures include those two bits). The blockchain is not used. Bitcoin then hashes the recovered public key to get the address. The address is then compared to the address you provide. The public key is not only not required, the verification interface doesn't even give you a place to provide it.