That is a BIG question Peter. If I had to build this from scratch, I would
- use separate Lead Types and Account Types.
- Somehow associate those to actual leads and sales in SFDC
- use marketo lists and segmentations to identify those folks
As for partner portals it really depends...where is your portal? How are you managing this already? Is that data flowing into SFDC or Marketo?
You can definitiely setup a WS/LP just for partners, although I rarely see this being done. It would depend on your business process.
Why is setting up a smart list to exclude/include people a problem here?