Можно ли сделать некоторых childNodes блока ContentEditable не редактируемыми?
Да, просто перекройте для них свойство contenteditable, установив его в false:<div id="myDiv" contenteditable="true">
    <ul id="not-editable-todolist" contenteditable="false">
        <li>not editable</li>
        <li>not editable</li>
    </ul>
    <span>editable text</span>
</div>jsfiddle.net/qdz75Lab/1
А если пойти "от противного"? И сделать гениально просто<div id="myDiv">
    <ul id="not-editable-todolist">
      <li>not editable</li>
      <li>not editable</li>
    </ul>
    <span contenteditable="true">editable text</span>
  </div>