Dave,
Completely agree with your philosophy regarding unecessary sorts. However, in clinical trials (especially working in a CRO), indexes (indices?), are not really worth the hassle of setting them up. The datasets are not, in general, that large and we're not updating data sets. We're overwriting them (i.e. getting new dumps of data) so we'd have to re-create the index every time we got a new batch of data.
In general terms, the efficiencies required for the clinical trials environment are to be gained via maintenance of code (i.e. commenting, planning your programs, making them easy to read, documentation, etc.). However, avoiding unnecessary sorts (using SORT or SQL) is a desirable thing as it means you've thought about the program layout and design.
Cheers,
Lawrence