This cannot be done. It is a feature not a bug. The purpose of the salt in the hashed password is to prevent brute force attacks to the database. What you are doing is the brute force attack.
The only way to do it is to select all records. Loop one by one and compare them with
encpwd = CRYPT(digest_alg='pbkdf2(1000,20,sha512)')(request.vars.password)[0])
for row in db(..).select():
if row.password == encpwd: ....
I guess this is a ever more brute force attack.... It will be slow but may work on small databases.