Yes, if you've got a fixed width font and you're not updating pointers there are several tough things.
Even with Tomato Adventure, I had to get creative with a few strings to make it fit in the dialog box well, and that was after adding a variable-width font and solving character limits.
If you find yourself very immersed and want to try something harder, it should be possible to change the pointers. This would allow you to make the strings as many characters long as you want. The address of the start of each string is probably stored somewhere and changeable.
I'm not as familiar with the GBC, but I'm sure it uses banks. Where ever you found the string, take the offset into the file and modulo by 16384. For example, let's say the offset was 38378. The remainder after dividing by 16384 is 5610. The divisor would be 2, which is the "bank number". A simpler way to think of this is as a big pile of thousands of papers, each numbered. The way the game accesses them starts with the "thousands place" of the document page number (the bank) to find which stack of papers they're in, and then the number within that thousands place. Except with the GB, it's 16384 not 1000.
Assuming it has the almost same text as Tomato Adventure, it would require at least 8 banks (it must be missing some of the text, because I heard it lacks Gimica and the way the Gimica code is written makes me think it was written separately.)
When a GBC game accesses data, it encodes the offset into the bank as a number. Sometimes, it will also have a bank number. Tomato Adventure didn't have this problem, so this is where guessing really begins. Most probably, the offset for a string would be stored as three bytes, using this formula:
(offset inside bank) modulo 256
(offset inside bank) divided by 256
(bank number)
Earlier I gave the example of offset 38378, which is 5610 into bank 2. That would have the values:
234
21
2
Based on my above. That would mean the byte sequence 0xEA 0x15 0x02. It might not have the bank number like that though, which would make things tougher. Another thing to beware is that you may find this sequence in multiple places, but that doesn't mean it's for sure the part that says where that string starts. It could just be a coincidence and part of an image or actual game logic.
If you do find it, though, you could replace this value with another address and put the string there. You'd have to shuffle things around, but it might allow you to make some important strings longer.
I'd guess that some banks will have blank space at the end. So if you look at the file in chunks of 16384 bytes, you may find some extra space you can stuff longer text in.
Anyway, that's just if you feel adventurous. It may seem daunting, and don't feel bad only getting abbreviated text in - that's still a big achievement, especially if you've never done any of this before.
-[Unknown]