I've had some experience with this. One thing we found helped a lot is to set up a multi-select field for "product line" or "business unit" or whatever you think of it as. That way you can record, for each contact, which line of business they are associated with, including the option that they might be associated with both.
You definitely want to have different lead scoring models.
Definitely de-dupe contacts when you merge.
On the CRM side, you can do a lot with role heirarchy to ensure folks only see relevant data. You can also do a lot with record types and page layouts (assuming SFDC).
Beyond that it's hard to say in general - do you have more specific questions?