Just place a [thispatcher] in your bpatcher with an inlet. outside the bpatcher place a message with offset x and offset y. Now you can change the part of the bpatcher you want to see. You can find a detailed description of this in the helpfile if bpatcher.
You can change the visible portion of the bpatcher with an offset message to a thispatcher object in the bpatcher's subpatch, AND you can change the size of your bpatcher with a script size message to a thispatcher object in the parent patch. If I understand correctly what you want to do, this should demonstrate how.