I decided to stop being a leech and explore this a bit after I asked my question about how other ROM hackers format text. These are mostly notes for my convenience, but maybe someone else can also make use of them.
In FE7 (and probably FE6 and FE8), the length of the dialogue box is set based on the length of the longest line of a dialogue that a character has in a sequence of dialogue. For example, if a character says:
The quick brown fox jumped over the lazy dog.
The dialogue box would accommodate the longest line, which means that the “Hello.[A]” would awkwardly be by itself in a huge dialogue box.
For my experimentation, I used the shortest width characters, lowercase “l” and “i,” to get the most precise information. “l” and “i” are 1 pixel wide in the FE7 font, and there is always 1 pixel of separation in between characters, which means that each character occupies 2 pixels of space.
In FE7, the shortest length dialogue box accommodates 12 "l"s, or 24 pixels worth of text. The longest length dialogue box (before the dialogue box touches an edge of the screen) accommodates 100 "l"s, or 200 pixels width of text. The [A] arrow is equivalent to 6 "l"s, or 12 pixels worth of text.
The dialogue box expands slightly in length for every 4 "l"s, or 8 pixels worth of text. Incidentally, an uppercase “W” is also exactly 8 pixels long, so a dialogue box can hold up to 25 "W"s with each individual W after the third incrementing the length of the dialogue box.
Now, unfortunately, most fonts don’t have the same spacing as the FE7 in-game font, so the metric of "l"s or "i"s or "W"s isn’t sufficient to determine dialogue box lengths if we were to use a commonly available font as a model. Even an FE8 font that I downloaded from the internet doesn’t have the proper spacing on the letters.
So a bit more work needs to be done in order to create a method to easily structure text for good-fitting dialogue boxes.