Thanks for reading and I look forward to reading your input.
All the methods you've mentioned do work, but they do have their pros and cons however.
Obviously, using just html/css creates a lot of redundancy, but there are no compatibility issues (not realistically anyways).
PHP, being a server-side language, also has little to no compatibility issues since the work is done by the server, not the guest. And includes are a nice handy way of keeping your site up to date, and with more functionality than just html. But, like you say, each page will (re)load completely. If your issue with that is loading time, keep in mind that much of it will be cached.
Keep in mind though that all of this may change as html5 starts to become prevalent. I haven't had an excuse to work with it myself yet, but from the samples and documentation that are floating around it seems that html5 will be able to do much of what JS is used for today. Hard to say what kind of affect that will have.
I'm glad you want to organize and reuse your code. If you continue on this path as a back end developer you will surely arrive at an MVC framework. MVC is a programming methodology that means Model-View-Controller that provides proper code organization. I'm just starting in this path but when you mention that a lot of your pages look the same I realized this is the type of methodology you're looking for.
My site used to have a separate PHP script for each page. Then I realized I am typing the same code in multiple places. This is not DRY (Don’t Repeat Yourself). Instead I made one script, called showArticle.php and I pass to it an id that is stored in my mySQL database and references the requested article. So instead of having www.mysite.com/articles/this_is_my_article.php I have www.mysite.com/showArticle.php?id=29. Currently I am rebuilding the site from the ground up to be more organized on the back end as well as switching to HTML5.
I didn’t exactly answer your question yet. For pagination you can either use AJAX to replace the contents of the page with the next contents, or you can link to the next page. I personally prefer the latter. URLs would look like this: www.mysite.com/articleList.php?page=2 . What I like about this is that if the user is even slightly technically inclined they can manually modify the URL to go to the page number they want. The AJAX method will work if you can come up with a very good and intuitive user interface.