I have a few ticket fields that needs to be locked down after the ticket creation and only accessed if there is a mistake in the initial entry. It is causing reporting issues as these fields get changed or otherwise messed up during the lifetime of the ticket.
Is there a way to fire off an onclick event on a read only field that I can then throw up a input/edit box?

You could accomplish this by creating a small app using our apps framework. I've went ahead and built a small example application where you can see how to accomplish this. You'll need to expand on this so that it takes into account your multiple fields, but should get you started. Feel free to check it out here.
Hope this helps,