In effetti quello che hai detto è proprio assurdo, un campo definito come chiave primaria può contenere solo valori deversi tra di loro in quanto gli stessi servono a distinguere univocamente i records contenuti nella tabella.
Potresti creare due campi id, uno per prodotti ed un altro per anagrafica, ma a che scopo? se devi memorizzare un elenco di prodotti ed i dati anagrafici dei clienti il modo migliore è utilizzare proprio due tabelle distinte, se poi vuoi memorizzare anche i prodotti ordinati dai clienti ti serve ancora un'altra tabella.