It’s a bit difficult for me to give good answers to all your questions without knowing a bit more about your situation and needs, but I’ll try:
Can you tell us a bit more what you mean by “conditionals”? Is there a specific action that you want to accomplish, or an action that you want to disallow? Your link is to a thread that has answered “no” regarding the ability to enable/disable content types for a specific site, so is there something different in your case that you need answered?
In your “hidden fields” question, are you asking if it is possible to hide input fields that are shown when you fill out a new content? One possibility is to use Option Sets, even if all you need to select between is just a switch for enabled/disabled. Option Sets will then only show the input fields for the option that is selected. https://developer.enonic.com/docs/xp/stable/cms/schemas#optionset
Page Controllers are the most common way to show the visitor a result in the browser when they visit a URL on your site. In addition to providing the logic for rendering a page, they have regions where you can place other components (layouts, parts, text…) in the Content Studio page editor. The examples you give (“index” and “empty”) are specific implementations of Page Controllers in your application.
Technical info: https://developer.enonic.com/docs/xp/stable/cms/components
I’m not sure if the reason for your last question about Page Controllers is if you also wonder if you can allow/disallow certain Page Controllers for certain content, but in any case you can do this with Page Templates.
More info: https://developer.enonic.com/docs/content-studio/master/editor/page-editor