Price comparison website I have two sets of taxonomy lists


Engine Codes 
Vehicle Make and model


Now I'd like to link the two taxonomy terms from different lists/vocabs e.g.

Nissan Skyline R33 GTR (Vehicle make and model)  - - - > RB26DETT (engine code)
RB26DETT (engine code) --> Nissan Skyline R33 GTR (Vehicle make and model) 

I'd like to do this without having to manually input it twice. In some cases the same vehicle may have different engine codes, and visa versa.

So If I look at the Taxonomy term page for Nissan Skyline R33 GTR, it lists the RB26DETT and visa - versa.

I'm not sure (i) which module to use, and (ii) whether I should use term reference, or entity reference. 

I'm new to this and learning so appreciate any help/advice!

Thanks
Shah
While I don't have the detailed steps, I suggest you look to the Views module. The relationships and/or contextual filters provide WHERE and FROM type SQL queries. 

If you have two views, one based on each vocabulary (taxonomy lists), and each has a contextual filter (with block settings to show only on specific page) then you will get a correlated listing on page/block sets. 

If you have troubles getting it going, try exposed filters and AJAX refresh options - Get close enough to help your users help themselves. From a marketing angle, even if automatic/ideal results aren't automatic yet, IF views exposed filters get your customers/staff/partners to answers within 60 seconds from only a click or two, AND they also see message/indication you are actively working on the automatic results, the anticipated "better" site will up their anticipation and your reputation with most people (if, of course, presented with care).

Alternate possible "maybe" modules are "Views Field View" or "EVA". The "Better Exposed Filters" module might also be handy.

Try a search inurl:tutorial-6-10-views-relationships-and-contextual-filter for a great video. 

Good luck.