This is pretty simple (I know there are a few versions floating around), and just a few minutes with the macro API will probably get you something just like this (or probably better), but if you, like Bornakk, have so many noncombat pets that you don't know what to do with them, this macro that a guildie gave me a while back might help. Plug this text into a macro, save it as "Critter" and throw it on your toolbar.
/run CallCompanion("CRITTER", random(GetNumCompanions("CRITTER")))
As you've probably surmised, it'll choose a random critter from your noncombat pets and bring it out for you to play with. As I said, this is super-simple -- you could add /dismount on to the front of this and use it as a one-stop "dismount and summon pet" macro, or I'm sure our commenters (who are much better at this macro stuff than I am) will have lots of other ways to play. We posted a more complicated one a while back, and you can still replace CRITTER with MOUNT, but this one's even easier than that.
But like Bornakk, I tend to collect way too many noncombat pets and I can never choose which is my favorite. A random macro like this helps pull out a friend I haven't seen lately.