Enabling/disabling applications based on a "profile" in Mac OS X?
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.