I wish to redirect all queries to mydomain.com to mydomain.com/live/. I am already able to perform that, however have a problem with the URL displayed within the browser. I've two goals, (1) the URL always renders with "www" in-front and (2) the sub folder "live" isn't displayed within the url.

EDIT: According to edited code by Cryo the next achieves my goals as well as adds a trailing slash in the end subfolders to ensure that whenever a folder is entered the url it's properly submitted towards the index.html within it:

RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
RewriteRule ^$ /index.html

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.domain.com/$1/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/live/
RewriteRule ^(.*)$ /live/$1

Question though, when adding a trailing slash to subfolders, I believed RewriteCond % !-f will make it to ensure that a slash is not added after file names (only folders) so /subfolder/page.html will not have a trailing slash (that is things i want). However RewriteCond % !-f appears to complete nothing and RewriteCond % !..+$ is required.

If you wish to avoid putting 'live' within the URL it may sound like what you would like isn't a redirect but a reverse proxy.

RewriteCond %{HTTP_HOST} !^www\.georgemitra\.com$
RewriteRule ^(.*)$ http://www.georgemitra.com/$1 [R=301,L]

RewriteRule ^$ /index.html
RewriteRule ^blog$ /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/live/
RewriteRule ^(.*)$ /live/$1

You almost been with them. I moved the www subdomain catch-all to visit first and push it towards the browser before ongoing. When the request returns I simply added the index.html pressure around the root and also the catch for /blog with no trailing slash. Hope that can help.