@Srigyan Data labels on the top of graph is going to be tricky (as the rectangles become smaller and smaller). Instead you can use an option so that when you hover over the rectangle it shows all the info. Just use the code below, hover and wait for 1 second.
ods graphics on / imagemap;
proc freq data=sashelp.heart order=freq ;
tables smoking_status*weight_status / plots=mosaic(square ) ;
run;
ods graphics off;
The key is "imagemap" option in ods graphics.
If rather you are looking for percent info in the table then read the second row in every block.
Let me know if this helped in any way.