Hi,
no, that cannot be done. I assume we are talking XFA in Designer.
In a dynamic setup as you describe, the final size of the subform, including the necessity to have a page brake (pagination), is determined when the form has been layouted in the renderer. The event layoutReady basically is fired when the form "knows" all the layout elements that are to be placed. At that point in time you cannot re-arrange everything. Print rendering does it once not repeatedly. No script will be able to calculate the size beforehand unless you know the size of each row (constant) and the number of rows in the data.
But why would you want to replace the subforms? Do you not want to throw a new page when the data is more than fits?