Is it a bad idea to test on a server other than the one the live site will be on?
It is a very good idea to test on a personal server. In fact, I recommend the XAMPP package, a preconfigured test server that can run right on your PC. Just make sure your local and test servers are set up the same way. Basically, they should have the same version of PHP.
As long as PHP will work fine with all basic browsers, and the user doesn't have to do anything special...
PHP is a tool for generating HTML code. If you make it generate good HTML code, it'll work in all basic browsers.
My only concern with PHP is that I want to keep things simple. The site is for a construction based company, so the users are going to be VERY tech impaired!
Your users don't care what code powers your site -- they care about how they interact with it. Remember, PHP just generates HTML code, so your users won't know any different Web users appreciate clean, easy-to-use Web pages with a clear, simple layout. Visit UseIt for some great Web usability tips.
And finally, if I put "menu.php" in the "Web_Practice" directory, and then I have some pages in the "Web_Practice/about_us" directory, do I need to use "../menu.php" ?
Good job, that's exactly what you'll do!
Now, if you really want to get tricky, I'll bet each page on your site has a common header and footer. Your content changes, but I'll bet all the HTML before and after it stays the same -- meaning you could substitute it in the same way you insert your menu.
And, you can get pretty URLs if your company server is Apache with mod_rewrite. If you're adventurous, this route is very interesting...