Ok, he solucionado la pregunta #1, quedando el codigo de la siguiente manera:
Código .htaccess:
Ver originalReWriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ $1.php [L]
RewriteRule ^([^/]+)/$ $1.php [L]
La pregunta 2 aun no encuentro solucion.
Pero ahora nace una tercera pregunta! 
:
Ahora si ingreso a dominio.com/pagina o dominio.com/pagina/ funciona bien sin ningun problema, sin embargo si ingreso una url que no existe, ej: dominio.com/no-existe/ me arroja un Error 500 y no 404, como se puede solucionar eso?
Muchas gracias!