Battle pets are shared between all of your characters. This means you can purchase and learn a pet on one character, then cage it and sell it on another of a different faction or server. Often, the difference in price between realms and/or factions will be several hundred to a few thousand gold.
I use this method to make gold by buying certain pets when and where I find them cheap and flipping for profit in markets where they tend to be harder to come across. This can also be used as a roundabout way to move gold across factions/servers without the neutral AH or a paid transfer. As an added bonus, the learned pets are stored in your journal, so no hassles with bag space or inventory. You can also use this as way to find good bargains for your own collection, or even just try them out for battles yourself and sell at a later date.
Step 1: Create a snatch list. I use Auctionator's shopping lists for this, since it's just quick and easy. You'll want to put all the TCG battle pets, as well as some of the more rare/expensive drop or token pets on this list. Pets known for having desirable battle abilities (i.e. Clockwork Gnome) could also be added. Be wary with crafted pets, they can be profitable but the market there can be flooded fast.
Step 2: Using this list, scan the AH on whatever realms or factions you have the gold to make purchases on. Unfortunately, battle pets don't show up on TUJ, so you will have to do this manually.
Step 3: Purchase any that seem to be lower then usual in comparison to the other realms or factions you have checked. For TCG pets, 5k-ish or less is often a good deal. I've seen some of the more common TCG pets at 5k 1 day, then back up to 8-15k shortly after, but use your own discretion.
Step 4: Learn the pet, then log into whichever character you wish to sell on. Find the pets you wish to sell in your journal, right click and select "Put In Cage". The caged pet is now in your inventory. To sell it you will most likely have to use the default Blizzard AH sell tab or TSM's auctioning groups since some of the other addons aren't working with battle pet posting at the moment. I would recommend barking in trade after you have posted it to pique the interest of collectors, particularly if it is one not often seen on that realm/faction.
A few caveats:
-"Wild" pets (ones you battle out in the world and cage) are not sellable, so don't bother going out to collect them for profit. Same with achievement and quest reward pets (i.e. Kirin Tor Familiar).
-You can only have 3 of each pet in your journal at one time. The exception to this is when Blizz first implemented it they had no restriction with the pets your characters already had. So you might have 5 tabby cats, but that was a one time allowance and from here on in the restriction is 3. Also, your pet journal becomes "full" at about 500 total pets. To get more beyond that, you would either have to cage some of the ones you have, or release some wild pets.
-Mechanical Chicken, though sellable when unused, seems to fall under the restriction of other "reward" pets once learned and is not cageable to sell. This is likely due to it being a quest reward, though might possibly be an oversight.
-When moving pets from a high pop to low pop realm keep in mind that while you can get away with a higher asking price, finding a buyer might take longer.
-Vendor pets and holiday pets are not moving well right now, due to people having them on multiple characters and selling off the extras. This market is likely to stay low imho, at least for awhile. This guide is mostly intended for TCG or rare drop pets.
My Auctionator shopping lists for pets:
(You may want to add or edit based on your server or preferences)
*** Battle Pets-TCG
Eye of the legion
Spectral Tiger Cub
*** Battle Pets
Dun Morogh Cub
Giant Sewer Rat
Hyjal Bear Cub
Scooter the Snail
Tiny Crimson Whelpling
Tiny Shale Spider
Please note that my lists don't include most of the holiday or crafted pets, with a few exceptions.