I don't think this is possible in standard Blender or any add-on I know of. Writing such a script could certainly be done.
A useful workaround might be to put the faces in top and bottom areas into a Face Map. Select the edge loop, then click Deselect for the Face Map. You can select the top and bottom areas easily by selecting one face from both, pressing ctrl-L, and selecting Seam in Delimit.