Reescrever não é realmente o caminho a percorrer. Você deve usar o proxy na solicitação.
Da documentação do mod_proxy:
In addition, reverse proxies can be used simply to bring several servers into the same URL space.
Sua configuração ficará assim:
<VirtualHost *:80>
ServerName php53app.com
DocumentRoot /var/www/php_53/public
# General proxy config ... do not skip
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
# now proxy the migrated part
<Location /login>
ProxyPass http://php56app.com/login
ProxyPassReverse http://php56app.com/login
</Location>
<Directory />
Options FollowSymLinks
AllowOverride All
AddHandler php-cgi .php
Action php-cgi /cgi-bin-php/php-cgi-5.3.0
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
É claro que o proxy pode ser obtido com a reescrita, mas desta forma é um pouco mais explícito e permite um melhor controle das opções.