When accessing a wordpress blog, I want to force http when accessing wordpress via xmlrpc otherwise force https

The XML-RPC request is presumably to /xmlrpc.php in the root. In which case you can just make an exception for this at the very top of the .htaccess file (no need for the front-controller to be processed).

For example:

# Prevent remaining mod_rewrite directives to be processed
RewriteRule ^xmlrpc\.php$ - [END]

HOWEVER, WordPress itself is also likely to try to redirect to HTTPS, so .htaccess might not be enough. (Also bear in mind that 301 – permanent – redirects are cached, so any relevant caches will also need to be cleared.)