How can I run the Control Panel from a separate domain? Is it possible to separate the public site and the Control Panel on separate domains (i.e. www.domain.com and admin.domain.com)?

With baseCpUrl you're able to force the admin URL to admin.domain.com, but is it possible to also remove the redirect from www.domain.com/admin and completely remove all possible ways to access/redirect to the CP from www.domain.com?

(I guess setting cpTrigger to a random string would be one way, but then you also end up with the admin address similar to admin.domain.com/hjkads78ads5ads785ads68ads67)
You can use the baseCpUrl config setting to tell Craft to always generate CP URLs pointing to http://admin.domain.com, and you can create a .htaccess redirect on http://domain.com pointing all requests to /admin* to http://admin.domain.com/admin/*, but it is not currently possible to get rid of the CP Trigger segment at this time. Craft relies on that to determine if the current request is a CP request.