1)
If Bil'am wanted to kill the ass in his anger, why did he not curse it?
1.
Ba'al ha'Turim #1: Because he intended to curse Yisrael on that day, and two curses cannot take effect on the same day.
2.
Ba'al ha'Turim #2: Because it was not the right time - early in the morning - to curse. 1
1
Rashi: Nevertheless, the dignitaries of Mo'av, who were not aware of all this - (Sifsei Chachamim) looked upon Bil'am, who was on his way to curse an entire nation, yet to kill his ass, he needed a sword, with disdain. Refer to 22:23:4:1*.