How did he know that it is Eliyahu?
Radak: It was known that he wore a leather belt and had long hair.
Why didn't the messengers recognize Eliyahu? He was often in Shomron with Achav!
Radak: Perhaps these messengers were not there when Eliyahu was in Shomron. For many years he was not there, because Izevel wanted to kill him. We see that he was not there at the time of the war with Ben Hadad, nor in the war for Ramos Gil'ad; Michayahu was then the Navi in Shomron!
Why does the Navi record the dialogue through which the king realized that it is Eliyahu?
Malbim (7-8): The messengers defended him, through mentioning his leather belt and long hair. I.e. it is not proper to come to the king that way 1 . The king said, it is Eliyahu; he is not ashamed to come in front of kings. He did not come due to his hatred for Beis Achav.
What is the source to say so? The king asked them about his appearance. We find that through their answer, he was able to identify him! (PF)