I didn't see EXISTS in dal.py: http://code.google.com/p/web2py/source/browse/gluon/dal.py
That seems like it might be a tricky optimization to program but perhaps it's possible. You could also use raw sql: http://web2py.com/book/default/chapter/06#Raw-SQL

