Your question is very similar to doing a running total with a by grouping. An example of that is found here: http://support.sas.com/kb/24/649.html
The secret is using the "first" implicit variables.
data out;
set [replace with your input dataset];
by names;
retain newColA;
if first.names then newcola=cola;
newcola = newcola - colb;
run;
[edit] I forgot the retain statement. Here goes an example using the fish dataset from sashelp. (Although it doesn't make sense doing that there.)
First off, the dataset must be sorted. If yours is already you can go straight to the data step.
proc sort data = sashelp.fish(where=(Weight ne .) drop=Length1-Length3) out = fish nodupkey force;
by species weight height;
run;
data out;
set fish;
by species;
retain newColA;
if first.species then newColA = weight;
newColA = newColA - height;
run;