"That totally sucks. I cannot believe technology has left a trusted infrastructure so far behind. Why in world there is not a framework for authorization and authentication is totally beyond me. I mean, how in the heck am I supposed to train users on how to use Smime encrypted or signed email if they have to jump though all those hoops. Even the idea of using smime through OWA requires a plug-in on every browser they are going to use remotely... pathetic really."
Well, the trick is that trust is not an automatic thing. The users would have to trust you in some form anyway. And yes, for web applications PKI is a really difficult, if only because web-apps are relatively new and security is always the last thing on people's mind.
"A subordinate CA cert is out... too much $ and audit crap. Is there a way I can put a Windows 2008 CA server on my dirty-net that will allow those external users to validate the cert automatically?"
Not as far as I know. Of course, other AD admins can add your root certificate to their trusted certificate store, which is then automatically distributed among all their users.
"Another clarification needed ... when I create the root CA, it actually creates a new root cert that has no CA higher than it, right? So getting a cert from Verisign to validate my Root CA is not something that is done or even possible within that framework, right?"
Well, yes, you can do a cross certification. This would be the same as a subordinate CA in all other means, but you have the fortune you don't have to setup an entirely different CA tree.
PGP has a different structure. Here you may trust peoples certificates because other people trust those certificates. Trust is shown by creating a signature for the certificate and storing these signatures with the certificate. So you have more of a mash than the traditional PKI tree. IMHO, this does not work either by the way.