Good day Scott,
We had a similar challenge. So I hope the following is helpful. We wanted to associate all products a company has purchased. We did not want to associate at the lead level. Here is what Marketo told us.
I do think it would be good for someone in Marketo to write how to set up this type of association.
Below is recently update product documentation regarding custom objects and companies.
Using Custom Objects with Companies
A custom object that's linked to the company works best if you sync down companies from the CRM or if you explicitly create companies using the API. We also recommend that you use the Company ID as the link field.
If you have multiple people in Marketo that are lead records in the CRM or Marketo-only records, a custom object linked to a company won't get associated with more than one individual lead record. This is because a company having multiple people underneath it is supported only when companies are synced down from the CRM or if you use an API to explicitly create companies.
Custom Objects can only directly link to a single lead record. This means that when your custom object type is linked by company field, you should ensure that your person records are associated to a company either using contact conversion in your CRM, or using the externalCompanyId field, if you manage companies using Marketo’s REST APIs. For person records that aren't linked explicitly to company records, custom objects linked using company will be randomly linked to a single lead record, even if the value of the company field is shared across many people. http://docs.marketo.com/display/public/DOCS/Understanding+Marketo+Custom+Objects
Best of luck!
Regards,
Khalilah