I don't know of any packages that do what you want, but there are several utilities to read EXIF data, so you could build your own without too much trouble. Two that I've used are exiv2 and exif; once you figure out their syntax you can put them into your own script in whatever language you prefer (shell, python, perl, ...) (if you need help with that, you really do need to head to one of the other StackExchange sites, as mattdm already commented).
Anyway, to get you started, here's a short script, exif.sh, I wrote (sorry, it's a bit rough) to print out the 35mm-equivalent focal length of a set of photos; the comments at the start of the script show two example ways to use it graph (using gnuplot) the number of pictures taken at each focal length:
#!/bin/bash
# example usage:
# $ ~/Desktop/exif.sh * | awk '{print $1}' | sort -n | uniq -c | gnuplot -e "set term gif; set output \"test.gif\"; plot '-'"
# $ find . -type f -print0 | xargs -0 ~/Desktop/exif.sh | awk '{print $1}' | sort -n | uniq -c | gnuplot -e "set term gif; set output \"test.gif\"; plot '-'"
for arg
do
x=$(exif -m -t 0x0110 "$arg" 2>/dev/null)
y=$(exif -m -t 0x920a "$arg" 2>/dev/null | sed s/"\.".*//)
#REVISIT: previous line drops decimals! Up to 6*.99 or ~6 mm!
# done
if [ "$x" == "" ]
then
continue
fi
canon30d="Canon EOS 30D"
canonsx10is="Canon PowerShot SX10 IS"
canonsd870is="Canon PowerShot SD870 IS"
kodakcx7430="KODAK CX7430 ZOOM DIGITAL CAMERA"
if [ "$x" == "$canon30d" ]
then
multiplier=16
divisor=10
elif [ "$x" == "$canonsx10is" ]
then
multiplier=56
divisor=10
elif [ "$x" == "$canonsd870is" ]
then
multiplier=6
divisor=1
elif [ "$x" == "$kodakcx7430" ]
then
multiplier=6
divisor=1
else
multiplier=0
divisor=1
fi
let "d = $y * $multiplier / $divisor"
echo $d " - " $arg " (" $x ")"
done