How do you restrict a CiviContribute page using roles
Idea for a possible workaround: 


Create a group and role for the non-eligible users
Set up a Drupal block that only shows on this page and only for this role
put no visible content in the block, but create some JavaScript functionality to prevent non-eligible users to access the form