In drupal 7 you can do this to load an entity revision using
entity_load($entity_type, $ids = FALSE, $conditions = array(), $reset = FALSE)
like this:
$old_revision = entity_load('node', array(), array('vid' => 123));
However now $conditions is being deprecated. Pretty much wherever you go you see people saying that you should use EntityFieldQuery instead of conditions, however that doesn't help in this case. You can use age() to query revisions using EntityFieldQuery however it doesn't give you fully loaded node results so you then still have to load the entity and how do you load that revision of that entity without the conditions.