Maybe something like this ...
Note: below code was not tested.
I used this blog to insert a split character (~) after 50 positions.
Inserting a substring into a SAS string - SAS Users
data tab2;
set tab2;
insertposition=50;
splitchar='~';
length PHRASE $105;
PHRASE = catx(' ',substr(group,1,insertposition-1),splitchar,substr(group,insertposition));
run;
proc report data=tab2 nowindows spacing=1 headline headskip split= "|"
style(report)={outputwidth=100% cellspacing=0 borderwidth=1} style(header)={font_weight = bold};
column group variable count percentage;
define group / order noprint;
define variable / display left width=10 " ";
define count / display center width=10 "N";
define percentage / display center width=10 "%";
compute before group / style(lines)={just=left fontweight=bold width=50};
length part1 part2 $50;
part1 = scan(PHRASE,1,'~');
part2 = scan(PHRASE,2,'~');
line part1 $50.;
line part2 $50.;
endcomp;
run;
QUIT;
title; footnote;
/* end of program */
BR, Koen