Download file field dependent on user role vs role field values
After some digging... I found that I am able to get field information like...

$variables["#object"]-&gt;field_roles_allowed["und"]; //array containing id's of roles allowed
$variables["#object"]-&gt;field_download["und"]; //array containing information about the file


and that I can get the current user's roles like...

global $user;
$user-&gt;roles; //array containing current user's roles


Then I can compare the field roles allowed with the current user's roles and determine what to output from there.

Still not very happy with this, I would prefer something where I don't have to write PHP logic in a field.