I meant to say text file, but I typed it wrong. But yes, you would have to update that file each time. To avoid uploading anything, the best thing to do is use a database.
To explain includes, it physically includes a file when the page is grabbed by the server. So if you have a file that contains all the code for your navigation bar, you include it. When the server grabs the file, it puts the content into that space, so you can't tell the difference when the page is displayed. But then if you want to add a link, just change it on that one file, and it will be changed for your whole site. It's always good to design your site in sections, with each as an include. Easier to change that way.
As for the database, you can do a simple one, with just a little PHP knowledge and a GUI to help you setup the SQL tables (forgot what the popular one is called). It's basically doing this...
Code:
Main page
connect to database
retrieve most recent entry
display headline
display date, etc.
display journal
Archive page
connect to database
retrieve all journal entries
display date, headline
Now just create a simple login form, and a couple text fields to save it into the database.
Not too complicated if you get something to base your code off of. I think Site5 has a tutorial on a content management system, or database driven site that would help you out.
But what your doing is pretty basic, but will get you involved with a few different aspects of PHP, so it would be good if you tried to do it on your own. Once you do that, you can add the comments. Not too hard, just the same thing, slightly modified so they can type in name, email, and the comment or whatever.
Or... take the easy way out, and just get a blog script. But that's no fun.
As for the last question, depends where you're hosting your site.