You will need to get the special character to the output somehow, as you are not using a unicode system (and why not?) then you would need to push the symbol out some other way, maybe:
proc sort data=have;
by location month;
run;
proc means data=have;
var stores;
by location month;
output out=inter sum=want;
run;
proc transpose data=inter out=want;
by location month;
var want;
idlabel month;
run;
data want;
length col $2;
set want;
array var{2};
if var{2} < var{1} then col=cats("^s={font_weight=bold font_color=red}^{unicode 28A9} ^s={font_weight=normal font_color=black}",put(var{2},best.));
else if var{2} > var{1} then col=cats("^s={font_weight=bold font_color=green}^{unicode 26A9} ^s={font_weight=normal font_color=black}",put(var{2},best.));
else col=strip(put(var{2},best.));
run;
ods escapechar="^";
proc report data=want;
columns _all_;
run;