We have list A and List B with versioning enabled,List A has multiple colomns which does not have unique value and we can not use the list item ID because it is not frendly to end-user,in list B you cannot create a any calculated column to a lookup as result of sharepoint limitation on column,and normal lookup to text field value will result on having duplicate values,so the trick here is create a hidden colomn in list A with a calculated fields of text concutinate mutiple column to create unique value that will be understood by the end-user which will the be used as a lookup value on the List B
Calculated colomn on List A.
Put in mind that Lookup colomn should also a be a hidden field on List B
List B lookup column.
View with no Lookup Column