Code signing certs aren’t issued to a domain. They’re issued to a company or organization. So… you just buy one. Yes, they’re expensive, but that’s because of the extensive identity verification process involved. And if you just issue your own code-signing cert, it’s useless, because nobody will trust it. Presumably you already trust your own code, so there’s no reason for you to sign your code unless you’re sharing it.
You’re thinking “domains” as in SSL certs. That’s not how code signing certs work. This isn’t really the best forum to go into a discussion on different cert types, but almost everything you know about SSL certs isn’t applicable to code signing certs.
You would never copy your cert to other domains or computers. Anyone running signed code needs to trust the Root Certification Authority that issued the certificate - but they do not, under any circumstances, get your actual certificate. So there’s no “deployment.” There’s no “domain.”
Unfortunately, I think this might be something you have to research a bit more ;). Microsoft’s MSDN Library has extensive information on code signing, for example.