Why did he tell Achav to eat and drink?
Radak: He was fasting because the rain had been withheld. 1 He can eat now, for rain will come.
Malbim #1: Eliyahu already did what he needed to do. (a) Yisrael retracted and admitted that Hashem is Elokim. (b) He slaughtered Nevi'ei ha'Ba'al and those who enticed the nation to serve idolatry. It seems that also Achav leaned [to serve Hashem] after Eliyahu, at this time, for he saw the great act of Hashem. If not for this, he would not let him kill his Nevi'im!
Malbim #2: Normally, if they were fasting for rain, and rain came after midday, they must complete the fast. Here they did not, for they already heard the sound of rain coming before midday; it is as if the rain came before midday.
Malbim: Surely he was fasting. The custom was to fast when they pray for rain. (Even if the custom was already from the time of Eliyahu, why does he assume that it applied even to avid idolaters? - PF)
To where did he say to ascend?
Radak #1: Ascend to the chariot. From Har ha'Karmel to Yizre'el is descent - "Esor va'Rad" (verse 44). It says "b'Emek Yizre'el" (Yehoshua 17:16), "b'Chel (in the canyon of) Yizre'el" (below, 21:23).
Radak #2: Ascend from the valley in which they slaughtered the false Nevi'im and go to the Emek where he pitched his tent and will eat and drink. He did not go to Yizre'el yet.
Was the rain heard already?
Radak: No. Eliyahu was sure that Hashem will give rain, for He promised "v'Etnah Matar" (verse 1). Also, he killed Ovdei ha'Ba'al and idolatry was nullified. 1
Malbim : It will surely come, corresponding to the voice of Yisrael screaming "Hashem Hu ha'Elokim", and the screams of the sinners being slaughtered. Also refer to 18:41:1:3.
Idolaters remained. Radak himself wrote (verse 18) that Nevi'ei ha'Asherah, who ate on Izevel's table; did not go! (PF)