The answer 'no' holds no longer true for Android 4.3 Jelly Bean.
There is a new Hidden App Permission Manager feature which can be unlocked using the third-party app App Ops Starter.
Since the necessary interface is already implemented in Android itself, you don't need root for this app to do its magic. And it's free.
You simply have to install the App Ops Starter application from the Play Store. After that, you can selectively disable single permissions of any app on your device.
I've tested this on a SGS2 with CM 10.2 (Android 4.3) and it's working fine.
(Click image to enlarge)
Sorry that this screenshot is in German; it basically shows the permission tab of WhatsApp.
As you can see, everything is very intuitive, you simply use the slider to the right to (de-)activate a specific permission of an app. In this example, the app 'needs' the following permissions: location, read contacts, change contacts, receive SMS/MMS, send SMS/MMS, notify with vibration.
App Ops Starter even tells if the permission in question has ever been used by the app.
Changes should work instantly without reboot. I've not had any force closes so far, but pay attention to what you turn off. Some (should be all IMHO!) permissions may actually be needed for an app to work, e.g., turning off WhatsApp's ability to read your contacts wouldn't be very helpful.