I have not played Morrowind in years. When I did, I did not experience lag when the dialogue window was open as I have heard reported. There was a time when some players complained about it when running most/all the LGNPC mods at the same time and there was an implicit notion that it might have been the result of overwhelming the dialogue tree with entries. The LGNPC project itself doubles the number of entries and players that use our mods likely use other plugins such as quest and companion mods that add considerable dialogue to the game. However it has been some time since I have heard this complaint so if it was a function of memory or processing power perhaps newer machines are not taxed as much.
My only first-hand experience with lag when viewing the dialogue window occurs while working in the editor. There the issue appeared to be the result of the number of filters assigned to a given dialogue entry. Lag would occur while moving through the list of entries that had a large number of filters. This is particularly noticeable (frustrating) when moving entries higher or lower in the list. I do not know if this is in any way related to lag in-game, but it does seem plausible. I have never tested this hypothesis.
I took a quick look at Julan Ashlander Companion and I noticed many entries that had four or more filters and lagged while I was in the editor. Of course, one thing might not have anything to do with the other. I know that LGNPC Pax Redoran and Vivec Redoran have heavily-filtered dialogue entries. The worst offender is Less Generic Bloodmoon (and probably Less Generic Tribunal). In his Less Generic mods, Ostar did not merely create new entries, he routinely added new filtered to official dialogue to prevent some NPCs from using the topic. Often this meant that an entry would use every filter slot available and navigating the entries in the editor was very tedious. Again, I have not proven that this profusion of filters would affect how quickly dialogue is processed while playing, but I have not dismissed it as a reason either.
If there is any credit to my suggestion that excessive filters create lag when in dialogue with an NPC, then to alleviate the problem you should avoid the extraneous use of filters. Checks for if NPCs are living or dead and checks for items in the player's inventory are likely to be more taxing then checks for journal indexes and global variables. If an entry is tightly filtered then subsequent choices need not include most of the initial filters. If you check Dead: Bolvyn Venim >= 1 in one entry there is no need to add the filter Dead: Bolvyn Venim = 0 in the next - he is most certainly alive if the previous check failed. If you check Item: Gold_001 >= 100 in one entry, the following entry need not check Item: Gold_001 < 100 since it is certain to be true. Such strategies as those may help reduce lag when the dialogue window is open.
I do not expect your use of scripted dialogue (in unto itself) would create dialogue lag. Of course, if you are checking conditions that are system-intensive such as inventory checks then that could slow things down.
In my mind, journal indexes and global variables are effectively equivalent - one is no better than the other. In fact, I consider journal IDs as 'free globals' and sometimes create dummy journal entries (ones not intended to be added to the player's journal) just to use the index as a filter. This requires the use of SetJournalIndex - a Tribunal function - so it does create a dependency on one of the expansions.