A Salesforce-based solution to this would be to add a formula field on the contact object that is set to true when the contact's account has an opportunity associated with it. The biggest downside with this approach is that Salesforce formula fields do not automatically sync changes to Marketo, so contacts with a fairly recent new opportunity may not be picked up by the list. You can get around this by using a process builder flow to update a non-formula field on the contact instead, which will trigger the field sync to Marketo.
... View more