This will do it, as long as your choices are one of these types "All Visitors", "Members Only", or "Members Only (Hidden)".  The other choices all require more detailed modifications (e.g., passwords) to each forum.  This only changes existing forums, new forums would have to be set individually (or you could repeat the setting here at any point).  If you want a setting which will affect future forums added to a category, let me know.  I can code it for you in an hour or so.
In 
"post.asp", look for the following bit of code (appx lines 1011-1019):
Code:
			if ForumSubscription = 2 then
				Response.Write 	" selected "
			end if
			Response.Write 	" value=""2"">Topic Subscriptions Allowed</option>" & vbNewLine
		end if
		Response.Write 	"                </select>" & vbNewline
		Response.Write 	"                <a href=""Javascript:openWindow3('pop_help.asp?mode=options#subscription')"" tabindex=""-1"">" & getCurrentIcon(strIconSmileQuestion,"Click here to get more help on this option","") & "</a></font></td>" & vbNewline
		Response.Write	"              </tr>" & vbNewLine
	end if
Below that, insert the following:
Code:
	Response.Write "							<tr>" & vbNewLine & _
		"								<td bgColor=""" & strPopUpTableColor & """ noWrap align=""right""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><b>Authorized Users:</b></font></td>" & vbNewLine & _
		"								<td bgColor=""" & strPopUpTableColor & """>" & vbNewLine & _
		"   	  	 			  <select readonly name=""CatAuthType"">" & vbNewLine & _
		"										<option value="""">If used, applies to all forums in this category.</option>" & vbNewLine & _
		"     	 				  	<option value=""0"">All Visitors</option>" & vbNewLine & _
		"       	  				<option value=""4"">Members Only</option>" & vbNewLine & _
		"        						<option value=""5"">Members Only (Hidden)</option>" & vbNewLine & _
		"    	    				</select>" & vbNewLine & _
		"								</td>" & vbNewLine & _
		"							</tr>" & vbNewLine
 
In 
"post_info.asp", look for the following bit of code (appx lines 73-79):
Code:
if Request.Form("CAT_ID") <> "" then
	if IsNumeric(Request.Form("CAT_ID")) = True then
		Cat_ID = cLng(Request.Form("CAT_ID"))
	else
		Response.Redirect("default.asp")
	end if
end if
 
Below that, insert the following:
Code:
If MemberID = intAdminMemberID And Trim(Request("CatAuthType")) > "" Then
	If IsNumeric(Trim(Request("CatAuthType"))) Then
		strSQLCA = "SELECT FORUM_ID FROM " & strTablePrefix & "FORUM WHERE CAT_ID=" & Cat_ID
		Set rsCA = my_Conn.Execute(strSQLCA)
		If Not rsCA.EOF Then
			rsCA.MoveFirst
			Do While Not rsCA.EOF
				strSQLU = "UPDATE " & strTablePrefix & "FORUM SET F_PRIVATEFORUMS=" & Trim(Request("CatAuthType")) & " WHERE FORUM_ID=" & rsCA("FORUM_ID")
				my_Conn.Execute(strSqlU),,adCmdText + adExecuteNoRecords
				rsCA.MoveNext
			Loop
			rsCA.Close
		End If
		Set rsCA = Nothing
		Application.Lock
		Application(strUniqueID & "ConfigLoaded") = ""
		Application.Unlock
		Response.Redirect	strForumURL
	End If
End If