Wouldn't you just need to hash the password and do a lookup on the table to see how many results were returned?
If you are generating a per-password salt, that won't work. In order to find prior occurrences of a given password, you would have to hash the password for every salt value that you've ever used. And since you're using BCrypt[1], that will be very slow.
How about instead just implementing a blacklist of unacceptable passwords?