Here's a command I wrote long ago using a different way to deal with options:
isee
Usage: isee format file ...
Display specified inode information for files passed as arguments.
Items of the form ``%X'' in format will be replaced for these X:
dev inode ino mode nlink uid gid rdev size atime
mtime ctime now filename
Parenthesized printf-style format specifications can follow a %
to override the default format for the various items.
%filename is the name of the current file argument.
%now is the time (in seconds) when the command started running.
The other items are from the stat structure.
Example: isee "%(40s)filename: %mtime %mode" /dev/null
Show file modification time and mode of /dev/null
inode is just a synonym for ino.
Instead of a kazillion options, the %-stat-field items identify what you want to see and the printf-style formats identify how you want them shown. Someone in the Murray Hill library added strftime formats for date fields, a fine addition, in my view. Adding readable user and group names rather than numerical ids would be worth considering. Maybe having a "rwx"-style form for mode. Sorting can be done by piping the output through sort. Don't get hung up on shortcomings of the command, just consider how a few familiar concepts and pipes can be combined to provide a large number of options.