This sounds like it needs some research. Are you using RCA by any chance?
I do recommend syncing Programs to SFDC Campaigns whenever possible.
I think you could constrain a Lead report to a time frame so that older Opps don't show up. Use the smart list feature and the Setup feature to do something like this:
Leads Created At/Between
with a Smart List of Has Opportunity, Opp is at X stage.