Your comments
If you are on Windows, multiple portable installations would help you.
Why do you think you would see more in horizontal alignment? I don't see any reason for this claim.
Let's take a look at the Changes -> Settings dialog. It only effects the belonging view unless you select the "Remember as default" option. This you would lose if you would only have one preferences option.
The Repository | Settings and Remote | Properties dialogs work on the selected repository or remote. Making them available in the Preferences dialog would be very bad UX because the preferences never work on any selection.
I'd rather tend to do the opposite and spread the options to the places where they actually act. One example are the new options in the Branches and Journal views in the 3-lines-popups. I'm sure, this is easier to discover. Options that act on multiple places, I'd try to keep in the preferences.
Currently, we use VM properties for options that should not be exposed to the GUI and because it is easy to implement (calling something like System.getProperty(key, defaultValue)). If this would become harder to implement, we would implement fewer options and hence need to reject some configuration requests.
I assumed you mean to replace one global ~/.gitconfig for your private repositories with another one for your company's repositories. Maybe this was a wrong assumption? What exact options do you want to be switched between private and company profiles - name, e-mail or also additional stuff?
How do you think this should be implemented? Should SmartGit really write ~/.gitconfig before each command execution?
You can select what ${commit} actually should be allowed - could be ref or SHA.
Customer support service by UserEcho
The current work-around, of course, is to apply a full stash (maybe with conflicts) and discard all unnecessary changes. Maybe this also gets obsolete when getting used to stashing selected files.