Przypisanie klucza obcego do właściwości json nie jest i może nigdy nie być możliwe. Byłaby to poważna i dość skomplikowana zmiana w egzekwowaniu kluczy obcych w PostgreSQL. Nie sądzę, że jest to niemożliwe, ale napotkałbym podobne problemy do tych, których doświadcza łatka kluczy obcych do tablic.
W wersji 9.4 możliwe będzie uczynienie całego obiektu json kluczem obcym jako jsonb
obsługuje testy równości. W wersji 9.3 nie możesz nawet tego zrobić.