First, why would one *need* to have the extension?
Second, just the one Page? Hmm.
Using custom permalinks and mod_rewrite you might add to your .htaccess a line that “translates” /blah.php to a path WordPress can properly handle, like:
RewriteRule ^(blah).php$ /index.php?pagename=$1 [QSA]
The issue here is that WordPress would know nothing about the new link, so it will continue providing /blah as the link to the Page. This is a manual linking solution.
Another option is to set up a blah.php file that is “WordPress enabled”, meaning before it does anything else, it calls the wp-blog-header.php file, like so:
<?php
include('./wp-blog-header.php');
?>
(Make sure the path to wp-blog-header.php is correct.)
You can then do everything a regular WordPress template can do. Easy way to make such a file is to copy a theme’s page.php (or other) template and add the code above before everything else in it. To have it display a Page’s contents, before The Loop you can initialize the specific Page through query_posts().
This is another manual linking option, since (again) WordPress will be ignorant of it. To get WordPress to know what you’re doing would require a combination of the rewrite rule above with some custom editing of the core code.