Eu tentaria algo como o seguinte:
# This will map requests like
# http://XXX.mysite.com/pages/123?somevar=someval&more=more2
# to /dir/pages.php?id=123&subdomain=XXX&somevar=someval&more=more2
RewriteCond %{HTTP_HOST} ^([a-z0-9]+).mysite.com
RewriteRule ^/pages/([0-9]+)$ /dir/pages.php?id=$1&subdomain=%1 [L,QSA]
O primeiro RewriteCond em %{REQUEST_URI}
é provavelmente desnecessário, porque contém o componente path do URI solicitado, que já está disponível na correspondência RewriteRule Pattern.