Maybe this is beyond dpkg's job and apt or aptitude would handle that just fine.
I suspect that's the issue: I don't think dpkg knows how to find packages you didn't explicitly give it (sources.list is in /etc/apt, not /etc/dpkg...), so if dependencies require other packages it will error out rather than installing them.
(To test locally with apt, you can use apt-ftparchive (https://wiki.debian.org/PbuilderTricks) or mini-dinstall (https://wiki.ubuntu.com/PbuilderHowto#Building_With_Local_Packages).)