You can use a single page where the user selects the state and then add a WHERE clause to the recordset to filter based on the submitted value.
There is no way to allow the user to select the number of rows displayed from the UI, but it can easily be accomplished with hand coding.
The way to do this is to set a session variable with the default number of rows you want displayed the first time the user comes to the page (when it isn't already set). Then reset it to the number of rows chosen when they choose a new number of rows through the form submit.
Then the manual part is that you need to go into the code and replace the number of rows with the reference to the session variable that was set.