1)
Why didn't Hashem tell him from the beginning to anoint David?
1.
Radak: Now all present will see that it is from Hashem. Hashem told him the Nevu'ah to anoint David at that time.
2.
Malbim: The Shelichus to anoint will not begin until Hashem tells him, after offering the Korban, so now he goes only to offer a Korban; he need not lie.