Thanks -- that worked, sort of. Incrementing the bank point works, but the dialogue pointer has to be reset to 0000 to point to the right location (at least in my implementation). Here's what I did, I replaced this:
034D0 BF 00 84 10 Load A with 1 byte at 80600+X ; bank 1 datawith this:
034D0 4C 00 FE Jump to location 08000 ; jump to new split bank determiner
08000 E0 00 56 Compare X with #5600 ; pointers above 5600 point to next bank
08003 B0 05 Branch to 0800A if carry is set
08005 BF 00 AA 20 Load A with 1 byte at 102C00+X ; bank 1 data, part 1
08009 60 Return from subroutine
0800A C2 20 Clear flags #20
0800C 8A Transfer X to A
0800D E9 00 56 Subtract #5600 from A
08010 AA Transfer A to X
08011 E2 20 Set flags #20
08013 BF 00 80 21 Load A with 1 byte at 108200+X ; bank 1 data, part 2
08017 60 Return from subroutine
It loads dialogue fine for the first 2 or 3 windows, and then the dialogue gets messed up. I figured out that single characters work fine, but DTE characters are not loading properly. (I attached an example that I liked.) I'm sure it's from subtracting from the pointer, but I can't figure out how to do it without that. Does anyone have ideas of how to fix this?
My backup plan is to split dialogue bank 1 (since it has 0x200 pointers) and move half of it to an entirely new bank, but that will take more coding, I think.

Fixed. After taking a closer look at my code and what it might be doing, I realized I was using a 16-bit accumulator to subtract #5600, but not restoring what was in the top 8-bits after I did that. Somehow this was causing the DTE table pointer to point to 99A20 instead of 99900. I added a push and pull for A outside the subtraction, and things work smoothly now. Here's the revised code, in case anyone's interested:
08000 E0 00 56 Compare X with #5600 ; pointers above 5600 point to next bank
08003 B0 05 Branch to 0800A if carry is set
08005 BF 00 AA 20 Load A with 1 byte at 102C00+X ; bank 1 data, part 1
08009 60 Return from subroutine
0800A C2 20 Clear flags #20
0800C 48 Push A (2 bytes) onto stack
0800D 8A Transfer X to A
0800E E9 00 56 Subtract #5600 from A
08011 AA Transfer A to X
08012 68 Pull 2 bytes from stack and store in A
08013 E2 20 Set flags #20
08015 BF 00 80 21 Load A with 1 byte at 108200+X ; bank 1 data, part 2
08019 60 Return from subroutine
Thanks for the tip, Lenophis.