No knock sensor on your engine. Check the timing and verify that it is equal to what's on the emission label (probably 9 degrees).
The timing cannot be changed by mechanical means. If you search on engine timing and emissions you should find threads that discuss changing the timing by changing a resistor. This resistor changes the rate at which spark advance is added with RPM, but my understanding is that it does not change initial timing.
On my '88 2.6 there is a vacuum line that routes to the EZL module, which alters timing based on engine vacuum. Try disconnecting and plugging this vacuum line and see if it makes any difference. Just a WAG, but the vacuum function in the EZL module may be misbehaving and adding too much timing.
How long has the detonation been an issue and what if any service, maintenance was performed prior to it becomming a problem?
Not sure what triggers your O2 sensor light. On my '88 it's internal diagnostics. On my '84 2.3 it just lite up at 30K miles - no diagnostics. Check to see what your owner's manual says about the O2 sensor. Checking it's function has also been extensively discussed, and a search should get you the test procedure.
Spark timing is triggered off a crank sensor, so timing chaing wear should have no effect.