A portal and gateway pair per environment makes things a little simpler in the long run. This setup would give you a deployment path and allow you to develop and test changes (policy or portal content) without disrupting a production environment.
That said, you could get away without a portal in development and focus purely on service and policy development using Policy Manager against a development gateway. With this approach, you wouldn't be able to test any of the portal related concerns (api key, plan enforcement, etc...) in development, but you can still enable. I am currently running with a setup similar to this. I don't need the overhead of a portal in my development environments, but I do include the necessary policy fragments (set as portal managed, include fragments for api key and plan support) so that my services can be portal managed when I actually deploy them to a portal enabled environment.
Thanks,
Alejandro