You have two options, either set the scan method to not scan "all" and scan for only one moonlander (i.e. -S MLD:\\.\COMx), create a separate bat for each moonlander and run one in its own instance, or go into Device menu and get more info on the device...this will display its unique serial number (its different than the one on the sticker), and place this number on the device somewhere.
Then you will know which is which. Next update will also implement the enable/disable function in the device menu, so you can just visually see which bfgminer device number corresponds to which moonlander.
Fixing the enable/disable would be very useful since I have never been able to detect any logical binding between COM port and MLD#, it seems random.
Also, I have noted that not always is bfgminer able to pick up the MLD serialnumber, or even that it is a MLD connected to a serial port, all fields are empty (windows detects the MLD just fine and assigns a COM port to it, but when bfgminer tries to figure out what is connected to the com port it doesn't get the information that it needs, which is device type and serialnumber). But it will still start hashing it because that's just how the code works. Also that seems to be random, possibly something stuck in the USB hub.
Once one has done a bit of plugging in/out of MLDs into a hub and monitoring the COM ports its easy to follow how com ports are assigned to the USB ports, that helps. Certainly in my case where I have split my 11 MLDs on one hub into two groups (and hence two bfgminer instances). As long as I keep using the same USB ports I know exactly which USB port gets assigned which COM port.