"I have three Spanish friends."
Would 西班牙人 instead of 西班牙 be acceptable here, or is that just a noun describing Spanish people that can't be used as an adjective?
You can. Strictly speaking 西班牙朋友 need not mean native Spanish people; It can mean just friends from Spain or friends known in Spain. 西班牙人朋友 would mean those are native Spanish or at least with Spanish nationality. However it is not necessary to care overly about this and add 人 consciously, unless it is really necessary to be very specific.
Here, 位 is used in the polite form to address positions, not names. It is very safe to use 个 instead of 位 since it is widely used to count the number of people.
It should be safer to be polite rather than casual, right?
位 is a polite form to count people, as well as to address people. If I need to show respect to both the listener L and to the 3 Spanish friends S, these will be said:
To L : 我來給您介紹三位西班牙朋友
To S : 這位是L
To S : 三位請坐