I work on mac based systems and use mamp (http://www.mamp.info) on my local machine before uploading to a redhat based server (that should sort out q.2 and 3).
Yorkshire water is sitting on a Windows 2003 Server, so I'm guessing their using .NET or classic asp. Their using something called 'Interactive Dimension CMS' to manage the content on the website.
You can use phpmyadmin for db manipulation, this comes installed with the mamp setup, I prefer a tool called Navicat. On windows there's a good tool called Sqlyog. I like to use textmate for programming, but I'm guessing you're not much of a dev, so I'd suggest something more graphical like Dreamweaver.
A user friendly/usable site is down to the design and thinking about how something should work without making the user think. Ask your parents to drive your site, if they can get through it without breaking a sweat, you shouldn't be. A lot of sites now make use of Ajax (this is basically Javascript and CSS) to make better interfaces such as drag-and-drop, or loading external data without switching the page. It's not really that complicated, and using a framework such as jQuery really speeds stuff up. Remember, you don't want to be compromising accessibility so make sure your site works without Javascript enabled, the best way to do this is to develop your sites using Firefox and the web developer toolbar (there's an option on there to flick JS on and off.)
Regarding font-size, the browser takes care of this, just make sure you specify 'em's in your css rather than 'px' (for typography, use pixels for measurements), I wouldn't bother building the text-widgets you see on the site, they're largely pointless and will increase your workload, you should make it clear to the user though that they can make changes through the browser.
By default, you should be specifying your main stylesheet to be for screen primarily. You then specify a print-only stylesheet if you want a tidy version.
<link rel="stylesheet" type="text/css" media="print" href="path/to/stylesheet.css" />
SEO is largely snake oil, writing good code, with relevant keywords and well-written content will go a long way to seeing you in the higher rankings. Of course, there's inbound links, length of time your domain has been registered, how often the site is updated and marketing options (such as adwords, etc.) that help. I doubt in the time you have for your project, the search engines will touch your site (it generally takes a couple of months to get a good listing). Nertman mentioned mod_rewrite, you can make a really nice site (in terms of URI's) using these, but mod_rewrite is an apache only module, window's server's have similar modules though, depends on your setup.
Accesskey's are dead simple just drop the accesskey attribute onto a link
<a href="/xyz" accesskey="1">This is a link</a>
Then it's up to your users to hit the right combo's.
Analyze what the site is about, most sites have a homepage and internal page, the internal page is very generic in layout so once you've built one template you should be able to use that and populate sections using information from the database.
You could build a really simple search engine using mysql's "SELECT * FROM tbl WHERE field LIKE '%keyword%'" statement, as you're doing this for a uni project I doubt it would have to be robust, just show understanding.
Yorkshire Water's mail page to a friend script wasn't working when I tried, however one thing I did note is that the functionality opened in a new window, for a site that is trying to go headstrong at accessibility they're breaking a pretty major rule. Keep your links to the current window only, allow the user to choose if they want to navigate away or not. For the visually impaired, it's a hassle to navigate windows.
Don't be scared of your project, you're in uni not the workplace, you need to show understanding but not mastery. You posted this a week or so ago, but you've still got plenty of time. Don't panic!
No one's going to do the project for you which I think you'll understand, but if you have specific questions, post back and someone will help 
___________________
Professional Geek