Your idea about recreating the contacts list from the email messages stored on the PST files would work. For this you can use MailExporterMsgExtract to export the sender email addresses to an Excel file or to a CSV (Comma delimited) file.
Outlook can import the contacts from a CSV file:
http://support.microsoft.com/kb/295664
You can find further information about MailExporterMsgExtract exporting features here:
http://www.mailexporter.net/emailexport/http://www.maildev.com/msgextract/
(Disclaimer, I am the author of MailExporterMsgExtract)