So after a bit more research, it looks like ESXi is responsible for determining which PCI bus # a given device gets added to…and there seems to be no specific way to configure it from ESXi-land.
FreeBSD (and pfSense) are behaving as designed, so no fault there.
It looks like what I would have to do is:
Develop a manual script to create a mapping of interface names and roles (e.g. "external", "intrasite", etc., arbitrary definitions) to MAC addresses (similar to /etc/network/interfaces in Linux);
Run the script once I've got a configuration ready for production;
Develop an rc script that runs at each boot that a) checks to see that the mapping is as originally set; b) renames interfaces if their PCI bus order changes (and reapplies any other configurations as needed); and c) calls the "Assign Interfaces" function if all of the MACs have changed; and
Make all this scripting something that can be transitioned to other *BSD-based systems (for example, the next upgrade of pfSense).
This, of course, in my Copious Spare TimeTM.
So, not an issue with pfSense or FreeBSD per se…but one that I'll have to work out how to handle from within FreeBSD in order to ensure a consistent configuration template that I don't have to re-work for each potential instance.
Biggsy: thank you for your input on the issue; you stimulated much research and learning.
--
Troy