Simplest approach is probably to make those fields a list of related records with a value field and a drop down formatted "label" field to identify it. In most cases, you can then customize your layout on a record by record basis simply by what related records you choose to create.
There are also tricks with portals and invisible tab controls that can hide/reveal specific layout objects.
If I want to keep everything under the same table to maintain simpler relationships with other table do I have to use the hide / reveal trick?
Some of the hide and reveal tricks also rely on a relationship.The "tricks" require triggers and scripting so it's a trade off between more complex layout design or a more complext relationship graph.
One option is to set up an invisible tab control with each tab in the control named with an object name. An OnRecordLoad trigger can then use the value you select in the drop down to deterimine which tab to select with a go to object step. You make the tab control invisible by giving it fill and pen colors/patterns that either match the layout are which are transparent.
I would be inclined to provide buttons and use script parameters to insert merge fields and/or merge variables. But we would need to understand the User perspective, e.g. place fields within sentences, subject etc.
What are you trying to accomplish? Can you explain a bit more?
Thank you for the input guys, I talked it over with the owner and he decided on something different. Sorry for the inconvenience!