Having 2 active DHCP servers targeting he same sub-network w/o MAC filters leads to uncertainty and that's not a good idea. If you need high availability/redundancy just use a high availability DHCP server supporting redundancy.
DHCP servers are "pxe-enabled" when you configure them for offering the PXE parameters:
- TFTP server IP
- NBP (Network Boot Program) path and name
Answering your question regarding a PXE client receiving 2 offers one with PXE data and one without, well, the client should take the one providing PXE info but I have seen faulty firmware not doing this and throwing a PXE error. The rest of options you mention are undefined by the PXE standard.
When you have a sub-network that already has DHCP infrastructure, you do not want or you are not allowed to change its configuration, and you want to add PXE services the most common approach is to add a proxyDHCP. A proxyDHCP only provides the PXE info to booting PXE clients and remains silent to booting non-PXE clients.
Then the booting PXE client receives 2 DHCP offers one from the DHCP server providing IP and corresponding DHCP options and one from the proxyDHCP providing PXE data and it is able to boot. proxyDHCP is part of the PXE standard and is today widely supported by PXE firmware.
Despite the PXE data provided by DHCP the PXE standard also requires setting up the corresponding TFTP server used for transferring the initial booting components. Also additional server services are needed like HTTP, CIFS, NFS offering transfer services for the bulk of components being net transferred right after the PXE stage finishes.
e.g. when PXE booting a Linux Live distro the NBP (grub or pxelinux) is initially transferred usually displaying a boot menu, later the kernel and initrd are also TFTP transferred and booted. Next he booting kernel performs a second DHCPDISCOVERY as a regular DHCP client (no PXE) gets its IP and next HTTP or CIFS or NFS transfers the corresponding squashfs file and the live distro is booted.