Multiple portfolios with one custom post type?

I think the best, most WordPress friendly solution is to use the default template hierarchy.

If you’re using a custom post type and default categories, you first need to get the post type into the category (and tag) archive pages. This support thread does that.

Now, you can see the portfolio items at yoursite.com/category/web-design, where “category” is the base category slug set on Settings > Permalinks and “web-design” would be the slug of a category denoting a specific portfolio.

If you’re using a custom taxonomy, you can control the slug better and have something like yoursite.com/portfolios/web-design. (Note that “portfolios” is plural. Make sure it doesn’t overlap with an existing slug on your site.)

Finally, to customize the results, you use the template hierarchy. If you’re using categories, then you can either edit all category pages with category.php (or create it based on archive.php) or create category-web-design.php (to edit a specific category template). If you’re using a custom taxonomy, use the file taxonomy-portfolios.php for the whole custom taxonomy or taxonomy-portfolios-web-design.php for the specific term.

This is how WordPress is designed to be used, so I can’t think of a better, more manageable way to handle this.