For an upcoming article, I found that I wanted to gather some statistics on DNSBLs such as spamhaus.org, sorbs.net, and so forth. In order to get that data, I wrote a sendmail milter in perl that simply matches inbound relay IP addresses and catalogues the data in a MySQL database. So in short, this code doesn't block anything whatsoever, but will give an indication of what would be blocked by each DNSBL, and by classification within that DNSBL if provided.
Suffice it to say, this code hasn't been thoroughly tested. It works fine on my FreeBSD mailserver with perl 5.8.5, MySQL 4.1.1, and sendmail 8.12.9pl2 with Sendmail::Milter 0.18, but YMMV. Check the README for installation and hacking instructions.
You can download dnsblcheck-0.0.1 here.