I am working on a larger scale SP mission (since forever and until forever it seems) with this feature, but I like it so much that I've turned it into a standalone script, and I am sharing it with whoever is interested: Found bugs are welcome.

1. What does it do?
Easy: Shows living units of your team in your actionList, so some mousewheeling can switch you to another unit. Moreover (by default, can be turned off) the controlled unit always stays leader, so you can teamSwitch without loosing control (Two-Three-Get-in-that-vehicle sounds familiar to anyone? ). It will controll units added both as playable and non-playable in the editor.

2. SP or MP?
I only tested it for SP. No idea about MP at all. If you want to convert it: go ahead, I'll help if you cannot decode something.

3. Warranty
Originally it is a part of a larger framework (tested like hell in there), but I hope it works well as independent too.

4. Legal
Use it, abuse it, add stuff, remove stuff, just be happy during it!!

4.
The Script
Spoiler:


5. Setup
A.
Save the script to your mission root folderby the name "qts.sqf". (If you want another name, or path, you need to set it inside the file as well)
B. Run it by []execVM "qts.sqf" (or _n = []execVM "qts.sqf" in editor) anywhere. Either in any initialization line, in init.sqf, you can even do it more times, no-one cares. After that it should be automatic as long as the mission is going. At least in my framework it is.
(C) if you add units or make changes in your mission just []execVM ITF_QTS_script anytime, so the script reinitializes and will handle new units as well.