Well, as I always suggest, don't put "data" items in columns headers. A normalised data strucutre:
ID YEAR MONTH VALUE
...
Will make your life so much easier to work with the data, and do manipulations. Then if you need it transposed in the output, transpose it just before the report section.
Now, you can do this by using arrays, but you need to know how many columns there are (hence why the above strcuture is far more robust and usable):
data want;
set have;
array cols{4} fico_2014_01 fico_2014_02...04; /* Note shortened */
array diffs{3} 8.;
do i=2 to 4; /* no comparison on first */
diff{i-1}=cols{i}-cols{i-1};
end;
run;
However, again, work with a usable strcuture and your life will be easier.