Android - Can I block specific apps from using GPS?

With LBE Privacy Guard you can block positioning permissions for certain apps. You can download it here:

It is important to note that LBE does require your phone to be rooted.

I understand this is an old question for Android 2.3.6, but changes in the Android OS relating to this question are worth mentioning.

The new permissions model in Marshmallow (Android 6.0) allows you to block specific applications from using location services (which includes GPS) without rooting.

Go to Settings->Apps->"Specific App Name"->Permissions. There is a toggle switch for "Location", which you can use to stop the specific app from using location services.