Accessing content for a specific node revision via a relationship in Views
One thing you could try is creating a class that extends views_handler_relationship and override it's query() method using logic that's specific to your use case rather than the generalised logic that's in views_handler_relationship->query().  Then change the "handler" in your relationship declaration to point at your subclass.

Hope it helps.