In my understanding, given that both USB interfaces ("Programming' and 'Native') are embedded in the same vendor embodiment (Arduino), they have the same Vendor ID.
vid.0=0x2341 (Programming)
vid.0=0x2341 (Native)
In reference to the USB Product IDs, each USB interface uses a different firmware. 8-bit AVR (handle with ATmega16U2) for the 'Programming' port and SAM3X8E for the 'Native' port. Thus, there must be a different ID for each product which permits (IDE 1.5.4) the auto detection of boards connected to each serial port.
pid.1=0x003d (Programming)
pid.0=0x003e (Native)
Notice that in case you need to change/reprogram the ATmega16U2, you will need a unique reference of the ATmega using vid.0 and pid.1. Similar case for the SAM3X8E which ID depends on the running firmware.
Your question do raise another question of whether is required or not a pid.2 when running Atmel's SAM-BA bootloader and a JTAG with pid=0x6124.
I'm not sure I understand, though (and, really I hate to be insistent, but clearly I am missing something).
There are many avr arduino boards with two serial interfaces, and pretty much all of these interfaces have vid 0x2341. Yet, in the avr boards.txt files for yun, uno, mega and alike I do see vid.0, pid.0, vid.1 and pid.1. Both vid.0 and vid.1 are 0x2341. How is the due different?