Do I understand correctly that the desired end result consists of the SECOND data file with info from the first data file added to it? That is, each record in the second data file becomes exactly one record in the end result?
What are the exact formats of all relevant variables in both files?
I believe you can do it with "ADD FILES" (indeed, not "MATCH FILES" which seems more likely at first glance), sort by company/product/date and then use some LAG function to evaluate whether the date is within the date range.
It's not the easiest question I've ever seen but it's certainly doable with a bit of syntax. If you work on a reasonable computer then 1.500.000 cases should be fine.
Ruben Geert van den Berg