I am struggling with the same issue and way fewer programming skills than the rest of you.
What I have noticed however is that if I connect two identical Atik CCD cameras to one Raspi and start Ekos with Atik CCD in the profile, I see the two cameras as Atik and Atik_2. I can e.g. assign one as main camera and the other as a guider. What is more, the allocation of the cameras (Atik or Atk_2) is consistent between sessions as long as I do not change the USB port that I connect them to. What I have not tested yet, but what I expect, is that this behavior extends to more devices as long as they are consistently connected to the same USB port on the Raspi, e.g. through a USB hub. So FW and FW_2, EAF and EAF_2 etc.)
What I have also noticed is that all attributes of my two cameras are the same except for the USB port-related info (1-1.1, 1-1.2 etc.). It shows up in the KERNEL info.
So if I can create unique alias based on the USB port the device is connected to, and I can connect that unique alias to a custom driver, I might be able to define them as different resources that I can use to create profiles etc. For the time being, I am even struggling to do the first step in this experiment, but maybe someone with more skills want to try it out.