You code up a map.
You compile the map to generate a copy book and load module.
You copy the copy book into your program to use in sending and receiving the map.
You compile the program to create a load module that is used in CICS.
Dynamically changing a map field size would require changing the copy book, map load module, and program load module on the fly. CICS production systems aren't usually allowed to wait for a recompile process to finish before displaying the data. So there are good reasons why what you're asking for cannot be done.
I have seen some very advanced programming that took the 3270 data stream and manipulated it to achieve the result you want. However, the code was proprietary and I never had a chance to study it. So I know it can be done but it would take me a few months of studying and testing 3270 data streams before I could do it.