Is it possible to let task buttons of some applications never combine and others always combine?
For example, never combine for Outlook, Excel and Visual studio and always combine for others.
I haven't found a way yet to automate this, but it can be done manually. Windows 7 and later use Application User Model IDs (AppUserModelIDs) to determine which windows to group/combine and which ones to treat separately. It is possible to change the AppUserModelID (AppID for short) of a running process, and a handy utility that can do this and much more besides is 7+ Taskbar Tweaker (can be installed in portable mode).
You can use the same trick to arbitrarily group/combine any set of application windows. For example, you can group/combine an Explorer window with an Outlook window, if you so wish.
Unfortunately, there is no way to save state yet, so as I said above doing it manually is possible, but a pain if it has to be done repeatedly. I guess this should be a cue to some enterprising programmer to build such an automation utility immediately! :)