>can you use the locate cmd to start at end of a dbf and proceed backwards?
You might simply
skip -1 in a DO WHILE loop, until you find the record (or BOF, or the equivalent of a WHILE condition). Pressumably, this would be slower than a single command (which doesn't seem to exist).
Since this is probably not a frequent requirement, I would evaluate each situation separately: whether it is better to use a reverse index, or write your loop.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)