Enabling/disabling applications based on a "profile" in Mac OS X? Is there a tool built-in or third party that allows me to turn start up or shut down applications based on setting that I choose for a give time? For example, I usually run Dropbox, Google Drive, and a backup manager on start up. However, if I go to a coffee shop to work, I would like to preserve battery and bandwidth, so I would turn off non-essential Dropbox and Google drive. 

So instead of manually turn off and on applications, is there a tool that allows me to do that just by selecting a "profile"?
That's a good question - gave me a bit of head scratch. My initial answer (I will come with something else once I contemplate on that a bit)  would be onefor myself. I personally prefer terminal/bash to solve most of my OS X problems and belive me, most of them can be done very efficiently from the terminal ;)

That being said, I would write very short, very basic, bash scripts (re)starting / starting the software running in background you mentioned depending on the need. 

You could play around with launchctl and make some jobs for that that will shut down/re-enable jobs for you but after you hit man launchctl you will probably realise that there is nothing wrong about killall -HUP in the end ;) There are very good tools to tame launchctl – one being lingon, which I also use for more resilient (read annoying) software like adobe's updates etc. to turnoff and disable.   

Profiles, similar to ehh... Windows profile does not exist in the user space, there is no registry or anything like that - os x user resides in its userspace (and for that i'm eternally thankful) so you can (like I do) have for exampel, 2 different local user accounts, but they share their respective ~/Library (user settings/prefs) together - that is quite a nice thing to have and gives you a clean user without the need to synchronize settings between the two. I have a lot of my ~/Library/Preferences files and most of the ~/. so that might be an option for you, takes time but pays of double after you reinstall and have your old home in seconds after launching an re-link script.

Well, as for now I recommend the #!/bin/bash solution which is maybe not the most elegant but it surely is the fastest one to achieve, and writing a killall script for start/restarting/shutting down processes is a 20 min learn curve procedure.