How can I force a user to submit webform before viewing certain pages?
Your best bet is to use this the splasify module: https://drupal.org/project/splashify

As for popping it up only once, you'll have to set a cookie somehow to track that it has popped up already. It might be suppored in that module already.