What "does not work"? You have posted code which creates a PDF file, and yet your example output is Excel? The escapechar and sub works fine using PDF destination output (note I can only paste text at the mo):
---
ods pdf file="s:\temp\rob\test.pdf";
data temp;
a="abc ^{sub 4}";
run;
ods escapechar="^";
proc report data=temp nowd;
columns a;
run;
ods pdf close;
---
Works fine. Also please note how formatting of the code is very important to reading, mixed case and no indetation makes reading code so much harder.