I would look for the "misfire" problem(s) first, the lack of correct firing in random cylinders will cause problem with the sensors downstream in the system.
It could be something as simple as a few bad plugs, plug wires or the coil pack fo those cyclinders - you are going to have to test and explore some of them to see where the problem started.
I would start by 'reading' the plugs in each cylinder to see if you can tell which ones are misfiring - they should be noticably different in appearance to the ones working correctly.
Next check the plug wires for correct resistance per the specifications for them - replace any that read incorrectly.
Last check or replace the coil-pack for the bad cylinders.
Reset the ECU/ECM and drive the vehicle for a period to see what codes it sets after your repairs.
It may take some time for the O2 sensors to clear themselves of surface contamination if present and the codes to stop popping up* - Or - they may not clean up and one or more will then need to be replaced.
The rich mixtures may have lead to back-firing in the exhaust system and damaged them over time.
A poorly running engine will also produce more noise out of the tailpipe, due to the system not getting the normal sound pulse order it is designed to dampen.
It may be necessary to replace a part or two to quiet it back down, but I would fix the other stuff and then see how it sounds.
A common shop practice would be to just replace everything and send you on your way - not the most cost efficent process, but may be the most time efficent one ...
Hope this helps;
* this is a good time to decide how serious you are about doing the repairs on your car in the future and bite-the-bullet to purchase you own Diagnostic tool so you can pull the codes yourself if you don't already have one - it could save you way more than it's cost in the long run (and you might just also become a big hit with your friends