Well, the M13's MIDI map is kind of setup like you're describing. Record and overdub are controlled by the same CC# (50; Record is 0-63, Overdub 64-127), just different values coming from that same number. A lot of MIDI controllers will give you a "Toggle" option so that if you hit the switch once it sends out one value on a CC# and if you hit it again. So, I guess the answer to your question is yes it can be done, but you have to make sure the controller you're looking at has the feature.

I can't imagine for the life of me why Line6 designed it this way, especially as the "alternative" functions for each controller are absolutely dead when it's not their "turn" to be called (e.g., if you hit "overdub" when no loop is playing, the system does nothing)

In this instance, there are two problems if you use an external toggle

First of all, steps 3, 5, and 7 would be issuing "record" instead of overdub, which won't work

Secondly, step 8 would issue "play" instead of stop.

There is knowledge "in the system" about whether overdub/record or start/stop is the applicable function. Since only one of these commands *can* be used at a time (i.e., calling "overdub" when the system expects "record" means nothing happens), it's absolutely mind-boggling that line6 chose to separate these into separate control changes.

So after doing more testing with this, I've come to the somewhat unbelievable conclusion that it's not possible to duplicate the function of the two on-board looper pedals - you need 4 external pedals to get the same functionality.

Yes, it's my fault for not examining the MIDI spec more carefully before purchasing, but my goodness, why would Line6 choose such a bizarre midi implementation?