Not totally sure of the question, possibly interested in a SAS coding technique requiring fewer lines to accomplish the objective?
If yes, then using a SAS ARRAY to declare the two sets of SAS variables is a technique I use often when there are repeating variable groups to assign -- sample code below, given the poster's submission:
data final4 (drop=_label_);
set final3;
array acol (*) col1b col2b col3b col4b col5b;
array aseq (*) seq1-seq5;
do i=1 to dim(acol);
acol(i) = lag(aseq(i))
end;
run;
Scott Barry
SBBWorks, Inc.