Hi John,
There are a number of questions here.
a) you can of course set the records-per-page on the template to be an expression. So in your case something like;
p_web.GSV('linesperpage')
b) you'd then be able to set linesperpage on any form. Presumably then having the browse as a "reset field" of this.
c) I've never tried it, but I think embedding a form in the header is possible. So that's ok. BUT
d) embedding a generic reset form would not allow you to "reset the browse when the form field changed" - or at least not from the template setting. so this is the thing that's gonna stump you.
So I don't think the "generic" approach will work.
Cheers
Bruce