Leave the first the same, but add Hidden=true, NoDisplay=true. Then rename the other two "personal.desktop" "companyname.desktop" and change the Name values inside, and add "-P {personal/companyname}" to the Exec line.
Now your application launcher, if functioning correctly, should hide the default Firefox instance (which due to stupid Firefox behavior can do... unpredictable things), and instead you can type "personal" or "companyname" to have Firefox launch with those specific profiles.
It's really quite fantastic, as good a solution as any I could ask for.
If Firefox did extend the Profile Manager to allow for this kind of personalisation and OS integration (profiles showing up as their own, customizeable launcher icon), that'd be another win.