In reply to TJR.

Hi TJR,
Since ID variable is on both merged data sets it's value from the second one overwrites ID value from the first data set. You should either drop it from the second data set or rename to something else, e.g. merge data1 data1(firstobs=2 rename=(Date1=lead1_Date ID=lead_ID)); or merge data1 data1(firstobs=2 rename=(Date1=lead1_Date) drop=ID);
Please note fundamental difference between your use case and the one described in this post: you have more than one variable. You might want to explore a different approach described in my blog on calculations across SAS dataset observations.
Hope this helps.