don't know if this is really the answer to the question, but i hope that it perhaps helps someone down the road.
i really liked the way GWT's FlexTable behaved with respect to the label resize i was looking for. however, GXT treats GWT's Widget instances as a WidgetComponent, which does not get traversed for nested Field instances when placed in a FormPanel. so my final solution was to extend GXT's FormPanel and overwrite its getFields() and getChildFields() functions, with the latter's logic looking for WidgetComponent instances in addition to Container instances:
for (Component comp : c.getItems()) {
if (comp instanceof Field) {
fields.add((Field<?>) comp);
}
else if (comp instanceof WidgetComponent) {
if (((WidgetComponent) comp).getWidget() instanceof FlexTable) {
// logic to retrieve Field instances from FlexTable
}
}
else if (comp instanceof Container) {
getChildFields((Container<Component>) comp, fields);
}
}
to complement this logic, i also had to extend FlexTable to allow for setting and retrieving Field instances.