Ok, I was able to get it all working using 99% of my code that was called on the viewport resize event.
if you ever need to dynamicaly resize a panel that takes up 100% of the browser viewport, you can simply use the onWindowResize function!
//w,h are the params sent to this function, but they are not needed in my case
//this is the panel that takes up 100% of screen, this call fixes just about all child components
//get the new width. My main panel uses a column layout, so I need the width of one of the columns.
var newColWidth = Ext.get('bodyPanelCol1').getSize().width - 10;
//resize all of my nested grids