Following. We also want to track this and aren't sure how without looking at the individual activity log of each lead one at a time.
Not sure how to do this with Marketo - but standard functionality in Salesforce with an attribution app like Path to Scale.
In Marketo, you might be able to create a smart campaign for each email that listens for a status change by anyone who opened/clicked email and then update their program status. The only thing to watch out there is if you have this rule turned on for multiple emails at the same time, being sent to the same person. But I think you could work around that with careful logic.