May be not so smart, but will work, i think.
proc univariate data=sashelp.cars;
var Horsepower;
output out=table pctlpre=P_ pctlpts= 50, 75 to 100 by 5;
run;
proc sql noprint;
select 'call symput('|| "'" ||strip(name)||"'," || strip(name) || ");"
into:name_list separated by ' '
from dictionary.columns
where libname ="WORK" and memname="TABLE";
quit;
data _null_;
set table;
&name_list;
run;
%put _ALL_;
Proc sql
generates code on fly: call symput('P_50',P_50); call symput('P_75',P_75); call symput('P_80',P_80); call symput('P_85',P_85); call symput('P_90',P_90); call symput('P_95',P_95); call symput('P_100',P_100);
OUTPUT:
GLOBAL P_100 500
GLOBAL P_50 210
GLOBAL P_75 255
GLOBAL P_80 275
GLOBAL P_85 295
GLOBAL P_90 302
GLOBAL P_95 340