If you would like to populate SELECT box from DB it's easy
I developed this little sub a year ago and happiely used it ever after
Sub ASPSelect(rs, value, display, selected)
' __________________________________________________________________________________
' *START* Dynamically build a select menu based on named members of a recordset
' The 'selected' parameter takes a string value equal to the desired selected option
' __________________________________________________________________________________
Dim isSelected
Dim options
options = ""
do until rs.EOF
if(rs(value) = selected) Then isSelected = " selected" else isSelected = ""
options = options & "<option value='" rs(value) & "'" & isSelected & ">" & rs(display) & "</option>"
rs.MoveNext
loop
'clean up
set rs = nothing
Response.Write(options)
' __________________________________________________________________________________
' END Dynamically build a select menu based on named members of a recordset
' The 'selected' parameter takes a string value equal to the desired selected option
' __________________________________________________________________________________
End Sub
and this is how to use it:
<select name="group_id" size="1" class="ctrlText">
<% Call ASPSelect (conn.Execute("SELECT group_id, group_name FROM Groups WHERE status_id = 1 ORDER BY group_name"

, "group_id", "group_name", intGroupID)%>
</select>
and if you would like to select a specific item set intGroupID to that ID otherwise set it to ""
I came from Cold Fusion world and this functionality was there since version 3.0 (?) ... 1997 (?) I think ... the tag called CFSELECT
anyway I hope this helps to build your SELECT from DB the other part of your question how to be able to add items probably feasable using DHTML but you need to be aware that it will not work in older browsers
Sergei