As you figured, the catalogue mode is an "all or nothing" thing. And yes, hiding the add to cart button works in individual menus and modules, but only for listings.
More depends on only few factors. As far as I can see:
If your site has lots of categories and products and is very dynamic (frequent additions and deletions of products), adding some PHP code to the product page view would make sense.
If you have only few categories, not crazy many products, you enter those yourself through the backend, and you're not bound to using a very specific product "Code", then a simple but targeted CSS line will hide the add to cart button for the products you want.
So, it would require the the first part of the product "Code" - which you have control of through the backend - to be unique and identical for all the products that shall not have an add to cart button on their product pages.
An example:
Let's take the word "print", assuming that it is not part of any product code, yet. In the backend, for all present and future product in the print category, you add "print_" (without quotes) in front of the product code. If you have no product code manually entered yet, then this is the point of time when you will do so. So, in the field "Code" of print product "XYZ 123" you make the code "print_xyz123" or whatever, but always that "print_" in front.
Would that approach be doable for you? Then the rest is kiddy stuff