There isn't a real easy way to keep the same extension while using SSI to call a cgi (Perl, I assume?) and have php execute for some of the visitors and use the same extension as the included cgi for php. Wow that's a mouth full.
Using the same redirect technique but with a few changes, a variation of what you describe will work. It goes like this -
Use only one AddHandler statement and remove the other from your .htaccess file. Suppose the AddHandler for .htm is the one you choose to remove, then add AddType application/x-httpd-php .htm to your .htaccess file.
Now you can use thispagename.html for the .cgi files and redirect the chosen visitors to thispagename.htm for the php files.
Only a few sharp eyed folks will ever notice that the extension changed from .html to .htm
I can't think of any other way to make this work and keep the same extension for both, even with mod_rewrite.
A variation of this is to add an uppercase i to the extension so that .htm looks like this: htmI the fonts used in the browser addrss window make this look like html, the number 1 could also accomplish the same thing. Of cousrse if people type in the URL and use what they believe to be .htmL then you could open yourself up to 404's.
[added]oh, wait, now that I think about it, even if the user types in the url with the .html extension the variation above will still work. The user unwittingly calls the cgi and is identified by the cgi as someone that should the receive the php page, and is redirected to thispagename.htmI (the php page)[/added]