You can't do it.
If you want to filter the cities by state on the client side, then you just have to download everything to begin with. As you say, this will be unmanageably huge.
If you want the server to only send the towns appropriate for a selected state, then you have to break your form up over a number of pages. You can do this sequentially or in parallel.
Sequentially, the user selects the state and the form either autosubmits or the user clicks "Continue". Either way, the City dropdown list is populated for the selected state. The State dropdown can reappear on this page if required so that the user doesn't have to use the back button if they accidentally click the wrong state.
You could also do in this in parallel, using frames. Load the States dropdown list into one frame. This dropdown autosubmits, sending the output to the next frame. This frame contains the correct Cities dropdown and has the State coded as a hidden field. Any other inputs can also be managed on this second frame.
The second is probably the neatest option, but you must consider all of the usual arguments against frames.
Cheers,
Jack
reframidwa@mailexpire.com