Everything you describe can be done, for latching and unlatching, there is a generic object in the "Logic" section, (can't remember what its called, am away from my pc till much later today), it can turn a momentary switch into a latching one, this is the reason why all my foot switches are momentary, because you can choose. not only do I use an option to have latching or unlatching, but I have my signals invert-able as well. For example, you can start a trigger by taking your foot off as well. This is all quite simple to setup. I can't remember exactly, but I may have even posted the object.
As for the millisecond period, this can also be done, but is a little fiddly to get it the way you want, but very doable.