Reference fields automatically get an IS_IN_DB validator, but you can
explicitly specify your own and pass a DAL Set as the first argument to
filter the auth_user records:
db.define_table('t_customer_contact',
Field('f_customer', db.t_customer, label=T("customer")),
Field('f_contact', db.auth_user, label=T("contact"),
requires=IS_IN_DB(db(query), 'auth_user.id', format=db.auth_user.
_format)),
[etc.]
The db(query) part of that should specify a query to restrict the set to
users with particular memberships. See the book section on database
validators<http://web2py.com/books/default/chapter/29/7#Database-validators>for
more details.
Anthony