How to show time zone in event details page and registration confirmation page
a) This will happen automatically, assuming you want the "Event Info" page.  In fact, it's far more common for folks to ask how to disable or style this.  See my next answer for info on that.

b) will require programming knowledge.  You can write a CiviCRM extension, or hire someone to do it.  Use hook_civicrm_buildForm to look up the custom field, inject it into a PHP variable, and to load a template snippet to display it.  Maybe also a little bit of jQuery or CSS to alter its appearance/location on the page.

c) depends on whether the custom field is already loaded into the template (I'm not sure).  To check, insert {debug} into the template and send yourself a test message.  If it IS there, great!  Just copy/paste the token.

If it's not there, see this answer: How do I pass a variable to a smarty template?