Do I need to create a separate bfgminer start file for each device/worker?
You might be able to run separate instances of BFGMiner calling a specific device only to run in that instance. How you call a specific device is tricky and may not be the same once you restart bfgminer. More trouble than it is worth. I considered doing this at one point, but didn't see the value in it later. You see the hash rate in bfgminer already. You don't know which specific device is doing it because MLD 0,1,2,3 may not be the same the next time you restart bfgminer.
Just run bfgminer instance and have it recognize all four ML2 in one instance.
What is important is adequate power and external cooling that helps to optimize the hash rate.
Personally, I hope this is the end of USB powered miners and they go to power bricks. Trying to buy adequate USB data powered HUB is costly and unreliable. Use USB for data only and power it externally through a power brick. I think that will reduce support time and allow everyone to mine easily.