There's something amiss with your script/system. The initial dialog should always be sized to accommodate the input data (eiither the text to display, or the 'default answer' as I demonstrated above).
Indeed, if you run this script which picks 100 random words from a list you'll see the dialog does, indeed, resize to accommodate all the text.
set theWords to {"apple", "banana", "cantaloupe", "dates", "eggplant", "fig", "grapes", "habanero", "jujube", "kalamata olive"}
set theText to ""
repeat 100 times
set theText to theText & some item of theWords & space
end repeat
display dialogtheText

When you said 'dynamically' I assumed you meant after the initial display and in response to the user's input.
Maybe if you posted your script someone could spot a flaw.