OK, I've been trying to think through the other problem, which is how to get multiple dialogue nodes working from the vanilla moving question. There are actually two moving dialogues, the regular one and the forcegreet dialogue immediately after the wedding. The regular one can be set at top-level to avoid conflicts, even though it's ugly (still working on that one). But I thought the forecegreet version would just be impossible. BUT, then I noticed that the forcegreet node fires stage 5 of the wedding relationship quest, which runs the following script:
;spouse has forcegreetedAlias_LoveInterest.GetActorRef().EvaluatePackage()
Now, we may have stumbled upon the solution to both of the problems (the scripting and the dialogue) at once. Dialogue wise, for the post-wedding version we can create a top level line of dialogue, BUT one that has a condition set for checking that the quest stage for the wedding quest is 5. Note that the responses to that first moving question set the stage to 10, so the only time the condition could be filled is between the new spouse asking "Where should we move?" and the player's response. So it will look like your custom response is just part of that option list (if I'm right, I still need to test - but I think my reasoning is sound).
I'm just an amateur scripter myself, so I'm just going to lay out some logic and hope that what I suggest actually works.

Perhaps this EvaluatePackage function could help with the scripting problem theconqueror148 mentioned above. The wiki is a little unclear about what exactly EvaluatePackage does: it doesn't have a return value, but it still might do something we can use.
Ultimately, the spouse move is accomplished by assigning a house sandbox package and a set of service packages (if the spouse has a profession) to the spouse - usually about six packages altogether. Those packages are bundled together into a reference alias and then forced onto the spouse in the vanilla dialogue (or perhaps the spouse is forced onto the alias). When you move, you need to clear all those packages to allow a new set of packages to be assigned by the new house's alias. (NOW: I *think* you don't need to worry about the clear function in the post-wedding version because you don't yet HAVE a set of house packages assigned: so the clear command in that vanilla script seems superfluous or is just present because the same script is used in the regular move: would like confirmation that I'm right, though it might not matter if we solve this scripting problem anyway). Our problem has been that the custom script we have can clear the vanilla house aliases and clear our one custom house, but we haven't figured out a way to be able to clear the data from any potential other custom house (we're assuming we might be able to encourage the community to adopt naming conventions to help).
theconqueror148 has suggested a clear mechanism that summons the entire set of aliases that assigned the old house packages in their respective quests - this is what the vanilla script does. What I'd like to know is if the EvaluatePackage function in essence summons an array of the packages, rather than the aliases that assigned them. Is it possible - and if so, is it easier - to clear packages that begin in MarriageSpouse* and ServicesSpouse*. Why I think this might be easier, is that to gather an array of all the aliases the script has to gather the data from any quests that have house package aliases. However, if it's possible *just* to gather the relevant packages that are on the spouse and clear them, it accomplishes the same thing - clearing the way for the new house alias to apply the new set of packages. And is the EvaluatePackage function the way to summon the array of packages?
Now, you may say, but Clear only works with Reference Aliases. This is true. So is there a way to construct a Reference Alias that gets defined by adding the relevant packages to the definition? You can attach scripts to definitions of Reference Aliases, so can those scripts be used to populate the alias with those packages? And then you clear that constructed alias. And is EvaluatePackage going to help find them? I think looking into how the Radiant Quest constructs aliases on the fly might give us some clues.
I'll continue poking through this, but it would be great if some more experienced scripters could verify my logic.