Unless you specify a mono spaced font such as courier so you can count the characters, I know of no way to do this with complete accurracy. I've played with a custom function idea that would assign relative "width" numbers for each character, but the many different widths possible for even a single font quickly showed that at best, the function would only be a crude prediction of where a line would "wrap". (And you can't count returns as text that wraps won't have any returns to count.)
"text that wraps won't have any returns to count"
... but the height of the field can be calculated by a script that puts the cursor inside the field. ;-)
See: GetLayoutObjectAttribute ( objectName ; "height" )
OK, but how does that tell us that there is more text than will fit in the field? And how much of that text would we extract for the second field?