I'll stick with the contact form example, since it's straightforward and I can make the most assumptions about it
You asked about limiting the rest of the pageload pending the iframe load. This is the stickiest part of the whole thing, and will chafe your "one set of tags to paste for the code illiterate" idea.
If the idea was to replace an existing form from form to /form tag, an iframe will work fine, but it's going obsolete as was mentioned, and programmatic control of iframes can get really hairy (especially in IE) -- a few techniques come to mind:
1. The iframe you mentioned. This has no way to control the site load order without some fancy js, but it really is a blunt tool that achieves what you're up to. You could make the iframe "initial" url something that instructs the user to "Please Wait...", then swap out the src with javascript and flip the iframe to different content.
2. You can AJAX in the form content into a div layer. The "default" content can be a "Please wait..." or other instructive language. This works nicely because the business site needs only add the js include file (that you provide, or, even host on your site) and the div tag. This adds a rudimentary way to stall the user from clicking madly around and foiling your plans
3. Tell the site dude to just change their links to link to your form script on your page, thus giving you real ultimate power. The trouble here is now you need to consider their existing site style, which may be problematic, as you're taking on additional work for yourself (bad juju)
I can't gauge your skill, so I apologize if you know this already, but AJAX has gotten really easy nowadays by using a js script library like prototype or jquery. If you haven't dabbled with it or aren't sure what I'm talking about, AJAX is a way to have the browser send an asynchronous call out to a separate URL, "behind the scenes" and fetch the data as an object. It gives you programmatic control over page objects and still gives you access to outside content. Everything balls up into javascript, and you can either manipulate the DOM or just flood-replace tag content (such as a div.innerHTML sort of thing)
Also it's cross-platform capable and rather refined nowadays.
The level of control you seek still smells like AJAX to me, but it's not a stone tool -- it will require some engineering up front -- but what control imposition doesn't?
$0.02, you can PM me if you want some code ideas.. it's a weird buzz to combine my two loves by talking nerdy in an aviation forum...