What you curently have will issue ls -lt for each file individually as it is listed by find, so all you will get is the list in whatever order find gives them to you. Using ls -lrt will probably have no effect in what you already have.
Could I suggest:
find DIR -name "*_20111101.gz" -print | xargs ls -lrt
Note the quotes as otherwise the * will get expanded and may blow your command length limit. You might even find that "more than one" file listed in this way will be invalid to find anyway.
This will find all the files and then pass that list through xargs to an ls -lrt. It's not perfect as there is a limit to xargs, but you will have to see you man pages for that and also experiment a little.
Are we to assume that the XXXX is a time? If so, could that be forced to the end of the filename? If so, then, chronologically speaking, the most significant digits are first, i.e. CCYYMMYY_HHmm.gz ...If you can, then it is a simple sort based on the filename, e.g.:
ls -l 20111101_*.gz|sort -n
...will give the largest number/newest file last.
I hope that these suggestions help, but please feel free to write again if I have missed the point completely.