For mounts, I use
Squire2. It adds checkboxes in the Blizzard mount list so you can un-check any mounts you don't want it to summon, and then you just bind a key (or drop it on an action button if you prefer to click) to summon a random mount appropriate for your current location and flying skills. It also supports travel forms if your class has any.
Edit:
I've just installed
NugMiniPet and it seems to work pretty well. It summons a random pet out of those you've marked as favorites in the Blizzard pet list, with an option to re-summon a different random pet every
N minutes. There's also an option to use per-character favorites instead of the Blizzard favorites, but I haven't tried it.
Both of these have the advantage (IMO) of using the existing Blizzard mount/pet lists, instead of creating entirely new interfaces. This makes them easier to use (since you don't have to familiarize yourself with a new GUI), less ugly (while I'm not a huge fan of the Blizzard UI, all of the custom mount/pet UIs I've seen are incredibly hideous), and less work for the authors to write and maintain.