It could depend on the volume of data. I would suggest looking at Kingswaysoft.com SSIS tools. Using that, you could import the data to CDS from the files (you will likely need to create a custom entity to represent the data you are importing).
Then, from the Portal side, create the entity list but setup entity permissions to restrict viewing to just data belonging to the contacts (based on the account they belong to).
Hope that helps.