About your second question, that also isn't so hard...
Untested: in public_new_topic_form.pl, find:
<input type="text" name="topic_subject" value="" size="40" maxlength="85" />
</td>
</tr>
SubjectRow
add below:
if ($in{f} =~ m/^(1|2|3|4|5|6|7|8|9|10|11)$/) {
print qq~
<tr bgcolor="$vars_style{AltColumnColor1}">
<td nowrap="nowrap">
<font size="$vars_style{TextSize}" face="$vars_style{FontFace}"><b>
Message Type:
</b></font></td>
<td>
<input type="radio" name="type" value="[NEWS] " /> NEWS <input type="radio" name="type" value="[OT] " /> OT <input type="radio" name="type" value="[HELP] " /> HELP <input type="radio" name="type" value="" checked="checked" /> NONE
</td>
</tr>
~;
}
then open ubb_new_topic_page.cgi.
find:
# Require english letter/number in subject?
add above:
$in{topic_subject} = $in{type} . $in{topic_subject};
This is very premature and as I said untested, but you can go from here to how you want it to be...
This (1|2|3|4|5|6|7|8|9|10|11) thingy is the list forums where you want to show these radio boxes, separated by |.