The next rewrite passes a string beginning using the number 4 like a variable to process.php :

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(4[^/]*)$ /process.php?variable=$1 [L]

Which means this

http://www.domain.com/4shopping

is planned to

http://www.domain.com/process.php?variable=4shopping

But I wish to extend this last rewrite rule to essentially condition:

if word begins with 4, map to /process.php?variable=$1
else map to /index.php

The 2nd (else) thing about this statement may be the fundamental WordPress rewrite rule. So for instance:

http://www.domain.com/shopping

without any 4 is going to be forwarded to

http://www.domain.com/index.php?shopping (I believe this is how WordPress permalinks work!)

Do this:

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^(4[^/]*)$ process.php?variable=$1 [L]
RewriteRule ^([^4/][^/]*)$ index.php?$1 [L]

The very first rule will catch any request that may be planned for an existing file or directory and can finish the rewrite process. The 2nd rule is yours (with no RewriteCond conditions). And also the third rule will catch any request that’s URL path doesn't begin with the amount 4.

I'd add two lines towards the finish of the items you have. The extra rules will become index.php something that has not recently been transformed into process.php.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(4[^/]*)$ /process.php?variable=$1 [L]

RewriteCond %{SCRIPT_FILENAME} !process\.php
RewriteRule ^([^/]*)$ index.php?$1

Here's the answer:

RewriteRule ^(4[^/]*)$ /feedback.php?sms_code=$1 [L]
#
# BEGIN wordpress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END wordpress

I left the default Wordpress rules in position, and added my very own conditional rule above, ensuring to terminate [L] processing when the condition was met