Excellent explanation and it's all very clear to me now, here's my solution:
somewhere before you display the gallery create a collection:
ClearCollect(
colAddressesSelected,
LookUp(ADDRESS_LIST, ID=SELECTED_CUSTOMER.selected_address_id))
SELECTED_CUSTOMER.selected_address_id is a column that stores assigned address to that customer
Checkbox default:
!IsBlank(LookUp(colAddressesSelected, ID=ThisItem.ID))
Checkbox oncheck:
ClearCollect(colAddressesSelected, AddressGallery.Selected)
Checkbox onUncheck:
RemoveIf(colAddressesSelected, ID=ThisItem.ID);
If(CountRows(colAddressesSelected)<1, Notify("select at least one address",NotificationType.Error))