Ma devi fare il replace solo nella porzione di testo selezionato?
esempio:

function seleziona() {
txt = document.selection.createRange().text;
if(txt!="") {
txt = txt.replace("osso","muscolo")
document.selection.createRange().text = txt;
}
}

ciao