Mac OSX does not support the tac command. The solution by @tcdyl works when you are calling a single command in a for loop. For all other cases, the following is the simplest way to get around it.
This approach does not support having newlines in your filenames. The underlying reason is, that tail -r sorts its input as delimited by newlines.
for i in `ls -1 [filename pattern] | tail -r`; do [commands here]; done
However, there is a way to get around the newline limitation. If you know your filenames do not contain a certain character (say, '='), then you can use tr to replace all newlines to become this character, and then do the sorting. The result would look as follows:
for i in `find [directory] -name '[filename]' -print0 | tr '\n' '=' | tr '\0' '\n'
| tail -r | tr '\n' '\0' | tr '=' '\n' | xargs -0`; do [commands]; done