Hello Aaron,
Thanks for sharing your concern. First off, I'd like to point out that the Elements panel is NOT source code. Source code for your HTML is found in the Sources panel. Elements panel displays the DOM tree of your page (incuding iframe contents if they are contained within - these are naturally not found in the master page HTML). DOM tree is dynamic and can be changed in various ways from JavaScript (in fact, you can construct most or ALL of your <body> contents from JavaScript, which is what, for example, GMail does), so if your pages are dynamic (or contain frames), the HTML source and the DOM tree will never coincide. In fact, the HTML-like DOM representation has been chosen for the users to better understand what's going on (you can select your <html> element and type console.log([$0]) in your console. This will display an array containing the <html> DOM element in an entirely different way.)
Indeed, ' will get converted into the ' character in the DOM tree. The reason is that the HTML parser automatically converts all entities (', & and others) into the corresponding characters when building the DOM, so the resulting DOM does not contain the information found only in the source code (your HTML or string literals in your JavaScript, like element.innerHTML = "'DOM & HTML'";), so this conversion is one-way.
That said, you can insert HTML entities while editing the DOM tree in the Elements panel. You just need to right-click the desired element and select "Edit as HTML" from the context menu. Then you will be able to type in
'DOM & HTML'
and see
'DOM & HTML'
in your page and the DOM tree.