hi @Spikyface ok lets see if i get you. i assume the lookup is done by person id. based on your last paragraph your problem is as such:
Button OnSelect
ClearCollect(_Person,{person_id:0 ,title: "Mr", forename: "Jack", surname:"Black", membership_cost: 50});

The user can then add contact, but the problem is they can add it more than once and the yes representing the current address. they can add many

on the contained will button a check is added to see if the user can add an enntry, iof theuser already have a current address they wont be allowed to add a record.
Set(_CanUpdate,If(CountRows(Filter(_Contact,And(person_id=0,CurrentAddress = "yes")))=0,true,false));
If(_CanUpdate, Collect(_Contact,{person_id: 0, AddressLine1:"Here" , AddressLine2: "There", Town: "Some Town", ZipCode: 5555, CurrentAddress: "yes"}));
I hope that help