It's not clear what's causing you dificulty. Are you aware of the horizontalOffset property of text? With that, you can measure the length of the dialog prefixes in the paragraphs of interest and then use the largest value plus some buffer to set your paragraph -- you speak of tabs, but it seems to me that the left marging and first line inset are all you really need to set.
Dave