The preinst is run from some implementation defined directory because the package isn't unpacked into its proper location in the filesystem yet.
I'm pretty sure forcing extra files into the DEBIAN part is not allowed for standard packages. You could install common.sh into the filesystem, usually under /usr/share/yourpackagename/, and the use it from the postinst and prerm scripts.
It doesn't work for preinst and postrm as the package contents are not available then.