check ->
http://www.webdevout.net/test?01b&raw
new Option() is js, simpler, native. Yes you can use DOM too, either way.
Don't forget to set 'multiple' for your Select element, also give a 'hint' to users, like with say title="Use Ctrl-click to select several', or so, so they know.
The only thing to heed I gather on the multiple deletion is, as I commented it in the source, to delete backwards, each time a child gets poped out above the others[that is smaller index option], the ones below INDEX ORDER changes and so does .length and that affects negatively the FOR loop. Looping backwards, delete below ones first, no bumping anyone's index.
Danny