1. Debugging .NET 4.0 code in ArcMap.exe
You are correct that the .config file locks down Visual Studio on the target debugger type. That means if you want to debug .NET 3.5 code, you will have to update the .config file again.
A neat trick I learnt from a Visual Studio blog without changing the .config file manually is to add "ArcMap.exe" to your solution as an .exe project in Visual Studio using File > Open > Project/Solution, Select Exe project files (.exe) from the file extension filter.
Then you can switch the ArcMap project's debugging properties (open Properties page, Parameters > Debugger Type) to which ever target .NET runtime version you need. Of course, don't forget to set ArcMap.exe as your startup project before debugging.
Unfortunately, Exe project is not supported in VS Express editions so you have to manually edit the config file back and forth in such case.
2. Config file at deployment time...
Note that the startup supportedRuntime elements in the ArcMap.exe.config should only affect debugging experience in Visual Studio. At runtime, these xml elements are irrelevant to your custom managed COM ArcObejcts or Add-ins. They will run fine without adding any startup v4.0 element. The only requirement you have to check at deployment is whether the target machine has .NET 4.0 installed.
Hope these help.