Found the range for window tilemaps. Set an execute breakpoint on C2ED31, and a second on C2ED56. Within that loop, it reads data from the 3FBxxx-3FCxxx range and creates the tilemap(s) in RAM.
A good, simple example to start researching this would be the new game Battle Mode selection screen.
Data range: 3FC429-3FC456, and reads data from FFBD18,y
All of this data is basically a set of instructions to create the windows: copy x tile to x location, then repeat x times for x lines.
One result in this case is a tilemap at 7E4204-7E447B for the textbox window (DC 03 is the upper left tile of the textbox, and E7 03 the bottom right tile)
Those instructions will have to be decoded before it's possible to create custom windows.