In reply to Anders. Don't try to use the data to set the lower bounds of each band. Just use the upper bounds and define each group as the set of data values less than or equal to the percentile. When you overlay the bands, the bands for the smaller percentiles will obscure the bands for the larger percentiles:

data KerDensity;
set KerDensity;
if _VALUE_<=&group1 then up1 = _DENSITY_; else up1 = .;
if _VALUE_<=&group2 then up2 = _DENSITY_; else up2 = .;
if _VALUE_=<&group3 then up4 = _DENSITY_; else up4 = .;
run;

title "Kernel Density with Colored Percentiles";
proc sgplot data=KerDensity;
series x=_VALUE_ y=_DENSITY_ / legendlabel="Density";
band x=_VALUE_ upper=up4 lower=0 / fillattrs=GraphData3 legendlabel="50th percentile";
band x=_VALUE_ upper=up2 lower=0 / fillattrs=GraphData2 legendlabel="25th percentile";
band x=_VALUE_ upper=up1 lower=0 / fillattrs=GraphData1 legendlabel="5th percentile";
xaxis label="Transthyretin (mg/dL)" LABELATTRS=(weight=BOLD);
yaxis Label="Density" LABELATTRS=(weight=BOLD);
run;

If you have further questions about graphics, please post them to the SAS Graphics Support Community.