way to make all pages with certain tags public?

I am not entirely sure what you’re asking, so I’m going to stake a wild stab in the dark until you can provide more information provided I don’t tell you exactly what you wanted to know. If by public you mean; pages with a certain tag lets say for this example the tag is ‘public’ and pages that only registered and logged in users can access aren’t tagged with public.

The simple answer would be in your post loop you would get a list of post tags assigned to the post using the function wp_get_post_tags and then check to see if the public tag exists, if it doesn’t show an error message telling the user the post is not accessible or perhaps even redirect the user using the wp_redirect function.