Your three way switch I think would be pretty easy to do with a very small Microcontroller like a ATiny85 (8 pins) and a few other parts. You could then use any simple switch that was momentary on. I think this could be made pretty small -- small enough to fit in the tail cap of a handheld. The mosfet I have switching this laser on is about .25" square and can handle 100 amps. Hard to find any small switch that can do even 10 amps.
I need a similar circuit for a new LPM I'm working on, so if you'd like to go this route I'm game to help out.