I don't really understand what you're saying. Why would filling the alias restart your quest? I juggle alias references like mad in my mod, and I've never been given the impression that it is restarting the quest.
Now that I'm thinking about it though, perhaps you're unaware of the command to fill aliases. As Amethyst stated above, there is a script command called "ForceRefTo".
http://www.creationkit.com/ForceRefTo_-_ReferenceAlias
Function ForceRefTo(ObjectReference akNewRef) native
So you would just do:
AliasName.Clear()AliasName.ForceRefTo(New Object Reference that you want to put into the alias)
Also, you said that you do not wish to hand pick the target, but that doesn't really make much sense. If you set criteria for a reference alias, simply check for that same criteria in a script, assign the "one that fits it" to a object reference variable, and fill the alias with that variable.