Why did Balak consider it important for Bil'am to see some of them, but not all of them?
Seforno: On the one hand, it was necessary to see some of them for the curse to take effect, 1 whilst on the other, if he sets his eyes on all of them, he would not achieve his aim. 2
Targum Yonasan: Refer to 22:41:2:2.
Ateres Chachamim on the Hagadah 'Lavan Bikesh La'akor es ha'Kol': Bil'am wanted to say 'Kalem' ('Exterminate them' ? Refer to 23:8:151:1). Balak knew that this was impossible, 3 due to Hashem's Shevu'ah to the Avos. 4 Therefore, he wanted him to put his eyes on (to try and kill) only some of them.
Refer to 22:41:2:1*.
Because Hashem promised that he will never destroy all of Yisrael - See Yirmiyah, 26:48. See also answer #3 and note.
That is why, he already said to Bil'am - via the first emmisaries - that he only wanted to diminish them, not to exterminate them - Refer to 22:6:1:2. See Oznayim la'Torah DH 'Efes ... ', who elaborates.
Ateres Chachamim: The Hagadah contrasts Par'oh and Lavan. Lavan's intentions, to detroy all of Yisrael, could not be fulfilled, whereas that of Par'oh, to kill only the males, could. See also answer #1 and note 2.
Seing as Bil'am's power lay in his ability to focus on the split-second that Hakadosh-Baruch-Hu was angry, why did Balak constantly pick a spot from which Bil'am could see Yisrael (See 22:41, 23:13 & 24:2)?
Oznayim la'Torah (citing his nephew, R. Walkin): Because, although it is possible to bless or curse even not in the presence of the person concerned, it is then necessary to mention him by name - something that was not posssible here, since Bil'am was only able to say 'Kaleim!' 1 . Consequently, it was crucial that he sees Yisrael, so that he could say 'Kaleim' withot having to specify them by name. 2