If you can't find a way to do this with sgplot in your version of SAS (or without using annotate), here's how you could do it in a very straightforward manner with SAS/Graph gplot ...
proc format;
value xf
1="very long text long text X very long text long text"
2="long text long text, too X long text long text, too";
run;
data test;
x=1; y=2;
output;
x=2; y=3;
output;
run;
axis1 minor=none order=(2 to 3 by .2);
axis2 split='X' minor=none order=(1 to 2 by 1) offset=(10,10)
label=(justify=center "Will this very long, long, long text split somewhere after here"
justify=center "and this further text be line 2?");
symbol1 value=circle height=1.5 interpol=join color=blue;
proc gplot data=test;
format x xf.;
plot y*x=1 /
vaxis=axis1 haxis=axis2;
run;

In one of the comments, you mentioned wanting to be able to use this with hh mm ss time formatted values(?) I have successfully used the SAS/Graph axis split=' ' option with the spaces in date values (formatted with nldateymm8.), so I think that should work in time values also. Here's the example with split date values:
