The simplest method does not require a script. (Note, the simplest method is not always the best method.)
Format your account_ID field in contacts with a drop down list or pop up menu with a 2 field value list. In field 1, specify the Account_ID, in Field 2 specify the account name. When you select an account name from this value list, the account id is entered linking that contact record to the selected account record.
Then, for each data field, such as address fields where you want to copy the address but still have be edited to differ from the data in the account record, use the looked up value auto-enter setting to copy data from the corresponding field in the account table.
The Account_ID was already a link between tables so this was already in place. I have used the lookup and it works fine. The only thing is it now enters the address by default rather than by choice. This is not a major issue as I will just put a button to clear the address contents if they are not required.
Appreciate the help (again) :-)
You could make it by choice rather than default. (Didn't understand that was what you want.)
Establish a new relationship based on a hidden field in your table. (Hidden=not on the layout.) Match it to the account ID field in the other table.
Specify that your looked up value setting use this relationship in place of the original.
Now a button can use set field to copy the account id value into the hidden field to trigger the lookup of related data "on demand".
Note: to create more than one relationship between the same two tables like this, create a duplicate table occurrence of the related table and refer to it in the looked up value settings.