Hello-quick question-what year e body? stock ignition? does it always read 300 rpm high or is it high at idle but ok at 3K? what are you checking it against?
For the tach problem I would check grounds-mostly the body/firewall to engine and the dash to firewall ground. How is the speedos needle broken? (and how did you break it? Did it fall off its spindle or is it truly in two pieces? Can you do photos?
Forgot one thing-check the "sense" lead for the tach. It connects to "-" terminal on the coil that use to be were the points went. If you physically remove and reinstall automotive electrical connectors you will find that most are of the self cleaning type. That means that they mechanically wipe they selves clean as you open and close them.
If you have a spare ecu I would try that just incase the original one is starting to put out noise to the tach. Other that that I have only seen them fail dead (full on or off) but not off 300rpm. Broken needle means that maybe A) bad (dry) speedo cable or B) speedometer has bad bearings, ether way some thing banged that needle hard many times to break it.