Lookup field with criteria selection?

Lookup field with criteria selection?

I have 3 types of Accounts: Customers, Vendors and Funding Sources.
Within the potentials we need to have fields for all three and set criteria for each lookup field.

Is this possible with or without custom fucnctions or deluge?