DTSRun from a command line is extremely limited. If you have many variables to pass in to a DTS package, you have to use a script / program.
I wrote an article posted earlier this week about creating the DTS package from scratch using Perl. In the article, I passed in several values from the command line using Getopt::Std. This functionality can be easily replaced by having Perl read a text (ini) file or get values from a database table.
You can also use a script to open an existing DTS package, assign the variables directly, and execute the package containing the dynamic properties task.
There are many ways to skin the DTS portability cat.
Nice job on the article!