IE is also intentionally run as the current user at a low privilege level, which makes it possible to do things like this to the IE process, but makes it impossible for the IE process to do things like this to other programs.
Yes. As long as the processes are all run with the same rights/users. I created an app in .Net for my old job which would detect if the F8 key is pressed while a specific database app is active/in-focus. If so, it creates a new search window (that belongs to my app, not the db app) and changes the parent handle to that of the db app window. So now I've created my own 'search' feature within the db app. For the users of the db app, they don't even know F8 feature is homebrew. It works great and people use it all the time.
Under standard Windows "idiot" mode users can download and install executables in user space and those apps can read, subvert, or destroy anything in user space. I don't really see how the way admin rights typically work in any way addresses this. Valuable stuff is generally in user space, not admin space. (I can get a copy of your OS anywhere, but your banking details and personal documents are in user space.)
One way to address this is to change the computing model away from file/folder-based to use-based (which is what Apple has done with iOS and is moving towards in Lion). I'm sure there are others, but I don't see anyone attempting to implement them at scale.