My suggestion is for him to have 3 Tables, one for [Owners] to store Owner Info, one for [Dogs] to store Dog info & another for [DogOwners] which will be to track which Dog belongs to which Owner.
When a owner creates his profile his data goes into the [Owners] table & the Dog seperately into the [Dogs] table.
I would like to use gravity forms.
At the same time a record is inserted in the [DogOwners] table with the matching OwnerID & DogID paired together with a boolean field to say if its active or not.
Then when a transfer is made between 2 existing Owners, so the one with the existing [DogOwners] record gets his record updated & the boolean field set to false. A new record will also need to be inserted into the [DogOwner] table for the new OwnerID & the same DogID with the boolean set to True.
Thanks