How can Bil'am later (24:16) describe himself as "Yode'a Da'as Elyon" after admitting here that he did not even know when an angel was standing in front of him?
Rashi: His admission here did indeed negate his boastful claim that he knew Hashem's Mind.
Refer to 24:16:1:1-4.
Why did Bil'am add the words "Im" and "be'Einecha"?
Rashi: His statement was aimed at attacking Hashem: If Hashem had granted him permission to go with Balak's dignitaries, why did He send an angel to negate it? 1 Be that as it may, if it is really bad in the Eyes of Hashem, he would have no choice but to retract.
Seforno: What he meant was that if it is bad in the eyes of the angel - who is presumably a defense counselor of Yisrael, he will have to go back, so as not to act against his wishes
Just as He did by the Akeidah, when, after instructing Avraham to sacrifice his son, He sent an angel to negate His initial instructions.
It should say 'Lo Chatasi, Ki Lo Yadati'!
Moshav Zekenim: From here we learn that a Ben Noach is warned; he should have learned. Bil'am should have realized that the donkey is deviating for a reason. Presumably, it sees an angel; Hashem and the angel are upset that I am going, and I should return.