filtering lookup field options based on information in another module.

filtering lookup field options based on information in another module.

In our CRM system.  We have the standard Accounts and Deals modules.  We would like to introduce the ability to classify Accounts by Sector.  Our desired functionality is to have a global list of all sectors that an Account can select, with the ability to select multiple sectors for accounts that are active in more than one industry. We also want to be able to identify one of the selected sectors for each account that would be the "primary" sector for the purposes of various reporting needs.

We also recognize that most of our Deals are with a specific department within the customer that will always only map to a single sector.  We want to give the creator/editor of a deal the ability to chose which of the accounts already mapped sectors is the proper one for the deal.  

thus we need to filter the global list of sector options for each deal to only those sectors that are already mapped to the account selected in the account lookup field of the deal.  

I've explored a number of options including:

1. adding 1 pick list for primary sector and 1 multi-pick list for sectors to the accounts module, populating a lookup or picklist based on these selections in the deals module.  This does not seem possible according to other posts in CRM community and knowledge base.

2. configuring a new "Sectors" module and adding a multi-select lookup and single lookup field in place pick lists from 1 above for the account module. I can't seem to add a lookup field to the deals module that will let me filter to the selected sectors via this method either. I've tried both with and without the linking module option.

3. various programmatic options, but I can't seem to find any dynamic solutions here.

Please advise if any other options are available for this use case.  I'm open to experimentation.