I found this while searching for fast filename expansion ideas.
I know this is very old message, but thought it should be put to a close.
Here is one way to achieve the result.
ls -rt $dir1/*.xml $dir2/*.xml $dir3/*.xml
This will sort files from all directories matching "*.xml", with the oldest first.
If your directory list is a variale list then you may try the following.
Assuming input variable as "IN_VAR" containing list of dirs.
DIR_LIST=`echo $IN_VAR |
sed 's, ,/*.xml ,g; s,,$/*.xml,'`
echo "$DIR_LIST"
ls -rt $DIR_LIST