FREEPBX complicated dial plan

Already discussed. Your needs have tripled in a week?

Because all the GUI elements and modules tie back to the dialplan the modules create. Having the flexibility with the ability to add modules/features means the dialplan is going to have a lot of branching and conditional logic.

If you really want to use the GUI, make use of that data, but not use the FreePBX dialplan, you would need to add your own module, hook the dialplan generation at the end of the process, then delete the parts you don’t want and regenerate new dialplan to replace those parts. Developer Corner Home - FreePBX OpenSource Project - Documentation

It’s feasible, but non-sensical.

You’d be better off and likely less bug prone writing your own bare-bones web interface, or with a handful of shell scripts to add/remove extensions/trunks/etc.