How can a wordpress plugin generate pages without posts?

You can do this with a plugin, but WordPress already has settings to allow a static front page to exist for the blog. Go in the WordPress Admin screen and look under Settings>Reading and you’ll see that you can set the blog front page to be a single Post/Page that you choose. This will do what you need without making a plugin.

If you’re dead set on making a plugin, here is a useful tutorial on doing this in code: http://mindleaks.com/wordpress-adding-teaser-in-static-front-page-of-thesis-theme/