After some digging... I found that I am able to get field information like...
$variables["#object"]->field_roles_allowed["und"]; //array containing id's of roles allowed
$variables["#object"]->field_download["und"]; //array containing information about the file
and that I can get the current user's roles like...
global $user;
$user->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 rightwrite PHP logic in a field.