I hope you can help me with a project I am working on.

I want to create a product catalog which is hosted on my server. Access to products is by password only. The password can be global and change automatically once a week.
I then want to publish different subsets of that catalog on various existing clients sites as a list. Once a Visitor clicks on one item in the list he will need to submit his name & email address to receive a link to the full listing by email. The link should already contain the password.
The name and email address will be passed into a crm for follow up. I also need to track which site the request came from. The CRM supports creation of web forms.

My Questions are:
1. Is a custom designed database the way to go or are there existing products in the market?
2. What is the best way to get the data to the client sites which all run on different structures? html, iframe, xml or can the server be queried directly?

Thanks for your help.