How to Best Track Relationships Between Clients and 3rd Parties

How would you store records to best track the relationships in the following scenario…

I am a professional home inspector and I have approximately 1000 real estate agents/salespersons, brokers, mortgage specialists, and real estate lawyers as Leads. For my purposes, the could simply be targets, however the website URL is missing (easily fixed), some details of their status is easier to record in the lead form (a little less easy), and no relationships can be made between the individual and their referrals (a problem solved by using Leads). Unfortunately, using Leads in this fashion creates a reverse referral relationship with my clients, the Accounts and Contacts.

One solution would be to Convert all the Leads to Contacts, but this would create a substantial number of Accounts and Contacts that will receive quotes, invoices, etc. Also, I’m not sure of how easily the back-and-forth between pages could be solved with Workflow.

A third option is to add Opportunities and add Leads to the Opportunity. This would result in Converted Opportunities appearing above the Lead details… somewhat handy. It could be possible to use this method to trigger on Opportunities to advise a referral that I have started a relationship with their client as a professional courtesy and thank you. Alternatively, doing this with every client agent, not just those offering referrals, as a means to update them on progress and scheduling of inspections so they can better serve their client (they are not a party to my relationship with my client).

Which scenarios do you think (as I have not progressed this far in data accumulation with a CRM) would provide the best reporting and workflow? 1. Reverse Lead relationships, 2. all Contacts and horizontal relationships, or 3. Leads with Opportunities. Maybe something else…?

Thanks!