Certainly possible, but you will need to consider a few things:
  • What is the trigger for refreshing the contact list? User clicks a button? On opening the database? On loading a particular form?
  • Depending on the size of your contact list, on updating the contacts table you will either need to scrap all records and reload, or load only new contacts and update existing ones.
  • All objects in Outlook have a unique identifier, so if you want to update existing contacts rather than create from scratch every time you use this to compare the records in your table against the contacts in Outlook.
  • Do you want to update in either direction? You probably won't want new contacts created in Access, however do you want to allow the user to update the existing values from your database and have Outlook updated automatically? Again, the unique identifier is going to be crucial for this. If not, what process will the user follow if they see incorrect details for a specific contact (how to update and then refresh the database)?
There are tons of examples on this site - do an advanced search for "contact" in the Outlook forum and you'll find lots of examples to get you started.

Just had another thought - are you linking to the contacts rather than importing them? I don't have Access on site here so I can't test how easy/difficult this might be. In this case it depends on how the user is selecting the contact, but you can use properties such as limit to list to control whether they can add new options. I also suspect that if you can link to Outlook it may be somewhat like linking to Excel - you can select the data, but it's read-only.