Tasker allows you to set those types of profiles, and is really customizable. Otherwise, you can go into system settings - applications - accounts and disable automatically syncing data. If you know which apps are the problem, then go into those settings and disable syncing as well.

I'd really suggest Tasker since you can set a time or location profile to disables certain apps from using data.

And if you want to try something free first (although Tasker isn't only cheap for what it can do, it's just cheap), ITTT (If This Than That) might also be able to do it. But Tasker is almost a "build your own phone".

Tasker is almost like writing an app - just a little easier. (A little easier, not a lot easier - you still have to write the app, you just don't have to worry about how to interface it with the phone's class files and APIs. But it's a great way to learn programming.)