Permalinks and custom PHP application

(EDIT) Take the custom rules outside the # Begin WordPress (credit to Tim Malone)

You can check if the file exists in the root and load it before the WordPress rules kick in:

# check for a file, i.e register.php
# load it if found and stop processing the rest of the rules with the [L] flag
<IfModule mod_rewrite.c> 
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteCond %{REQUEST_URI} !/$1.php
RewriteRule ^(.*)  /$1.php [L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c> 
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] 
</IfModule>
# END WordPress

http://url/register will then open the register.php file in the root.

If the file is not found, the WordPress rules are processed.