Yes, definitely. I’ve been building themes for almost as long as Discourse has existed, and I’m constantly referencing the source in a separate window.
Generally for templates you want to be looking here https://github.com/discourse/discourse/tree/master/app/assets/javascripts/discourse/templates
and for widgets here https://github.com/discourse/discourse/tree/master/app/assets/javascripts/discourse/widgets.
Sometimes it’s not immediately clear where a template is, because maybe it’s a component that gets nested within another template… if I can’t remember what I’ll end up doing is searching the source for a specific piece of markup…
So for example if I’m looking to add something to the about page… I can see that the body of the about page has a unique class about-page, so I’ll start searching for about and body-page (which is another class on the page).
To answer some of your questions:
I think this requires a plugin, which is outside of my expertise… maybe someone else can be more helpful
There are different templates for the different page layouts, but assuming you’re talking about one of the “Boxes with…” layouts