Hmm ... it's a little tricky to try to add this to code without some data, so I've retro-fitted your code to use sashelp.revhub2 (sample data) - should be simple for you to switch back to your own data, since I kept all the names the same!
My code/changes are in lower-case, so they should be easy to find.  Basically, I create a temporary data set in which I sum up the data so I can calculate the % (right now I'm calculating each bar segment as the % of that bar ... to calculate as the % of all the bars instead, just remove the "group by f1").  I make this temporary data set into an annotate data set, and then specify it in the anno= in the gchart ...
-------------------------------------------------------------------------------------------------
PROC SQL;
	CREATE VIEW WORK.SORTTempTableSorted AS
	SELECT unique T.hub as F1, T.source as F3, sum(T.revenue) as F2
	FROM sashelp.revhub2 as T
	group by hub, source
;
create table my_anno as
select unique *, sum(f2) as sum
from WORK.SORTTempTableSorted
group by f1;   /* remove the 'group by f1' to calculate % of whole chart */
QUIT;
data my_anno; set my_anno;
when='a'; xsys='2'; ysys='2'; hsys='3'; 
function='label'; style='"arial/bold"'; size=2; position='5';
xc=f1; subgroup=f3;
text=trim(left(put(f2/sum,percent7.0)));
run;
	PATTERN1 COLOR=MAROON;
	PATTERN2 COLOR=CXFF6600;
	PATTERN3 COLOR=OLIVE;
	PATTERN4 COLOR=CXFFFFCC;
	PATTERN5 COLOR=BLUE;
	PATTERN6 COLOR=GRAY;
	PATTERN7 COLOR=RED;
	PATTERN8 COLOR = _STYLE_;
	PATTERN9 COLOR = _STYLE_;
	PATTERN10 COLOR = _STYLE_;
	PATTERN11 COLOR = _STYLE_;
	PATTERN12 COLOR = _STYLE_;
Legend1
	FRAME
	LABEL=(FONT='Microsoft Sans Serif' HEIGHT=8pt JUSTIFY=LEFT )
	;
Axis1
	STYLE=1
	WIDTH=1
	MINOR=NONE
;
Axis2
	STYLE=1
	WIDTH=1
;
TITLE;
TITLE1 "Support and Revenue";
FOOTNOTE;
PROC GCHART DATA=WORK.SORTTempTableSorted anno=my_anno;
	VBAR3D 
	 F1
 /
	SUMVAR=F2
	SUBGROUP=F3
	SHAPE=HEXAGON
FRAME	TYPE=SUM
	NOZERO
	LEGEND=LEGEND1
	COUTLINE=BLACK
	RAXIS=AXIS1
	MAXIS=AXIS2
;
	LABEL F1="Year"
		F3="Name"
		F2="Dollar";
run;