Piece of cake!
Collect the forum ids to which the user has access on the search_form and store in an hidden input. Collect from the select named "FM"
<input name="INPARAMS" type="hidden" value="(5,4,7,6)">
this is now passed to search.asp and can be inserted in the SQL statement as
"WHERE Forum_ID IN " & Request.QueryString("INPARAMS")
I suppose this could be considered insecure as the params are sent as POST info but for speed there is little or no overhead as suggested. These could be obfuscated if needs be.
Regards
Frank