I am spending this semester in Granada!!! I also spent last summer in Bilbao. I really love both cities, but they are soooo different! I also have a couple catalan friends in Barcelona, and was just there last weekend, sooooo for what it is worth- heres my thoughts on this. All 3 cities are great places, but for a place to study spanish, there are some things you should think about.
I really would push for Bilbao, BUT if you have to decide between Granada and Barcelona? I would choose Granada hands down for a couple reasons..
1) The language! Spanish is THE language spoken here. Although at first the accent is difficult to understand, after being here around a month, it is not a problem anymore. In contrast, if you go to Barcelona, you will hear more Catalan then you will spanish outside of the classroom. Although I love my catalan friends, when Im not around, they speak in Catalan. I looked at studying in Barcelona, and the classes I could take were limited because at the university there, a lot of them are taught in Catalan...just something to keep in mind.
2) The cities! I love Barcelona to visit. But it is a very very big city, and would take a lot more time to truely "know". In Granada, I think it is the perfect size, big enough that there is everything you could possibly want to do, but small enough that you can really feel like you know the city well, after not much time at all.
It is also a university town, so lots of student, lots of stuff to do. My classes here are with other spaniards at the University of Granada, and I really like the atmosphere there.
Well, those are my thoughts, Im sure you will love it wherever you go!!!! Im not going to want to leave here in June! As they say here in Granada... adiooooooo
Kelly