To directly answer the question: there is no difference whatsoever on the software side. The CPU core and indeed the die inside the package is exactly the same, just different pins are bonded out in one specific corner. The actual difference is entirely in the clock generator.
The non-E version has oscillator-driver pins for directly attaching a crystal, ...
There's your answer, right there:
the 'E needs an external clock as well
That's it. From the software side, there's no difference.
(Also: The pinouts differ in 4 out of 40 pins. I wouldn't call that "utterly different".)
Simply because these registers are not exchanged, but renamed (*1).
All EX DE,HL does is toggling a flip-flop which decides which is HL and which is DE.
Much the same way the exchange for alternate AF (EX AF,AF') or alternate register (EXX)set is done. It's as well the reason why all of them can be done in just 4 cycles — toggling either flip-flop does not ...
The programming manual does not explicitly give examples of how the difference of absolute values instructions were to be used. However, it appears to be the easiest and fastest way to perform an absolute value, by using zero as the other operand. You can also perform a negative absolute value, which is consistent with the fact that all of the other ...
From the other point of view: there is no way how a program can decide if runs on 6809, or 6809E. There are methods to distinct between MC6809 and HD6309 programmatically (HD6309 has a specific set of undocumented instructions), but 6809 and 6809E are the same chips, the only difference is the clock generating part.