i just build a high tower, and a really really deep pit next to it. use caveins to clear out all the z levels on the way down.
on a regular basis i throw all the kittens and puppies in there. they go splat, and their limbs and heads and things can aparently bounce as high as 4 or 5 z levels out of the 20 i drop them, landing on ledges left over from the excavation. this is another established method of disposing of animals, and particularly prisoners. it also gives you bones and chunks of meat, you just wait for the miasma to die down and open the doors leading to the pit.
also, a nice way of singling out owned pets in a drownworthy or magma worthy spot is, when they are following their owner, they cannot pass through doors which are designated locked to non dwarves. so you can put a processing room in a high traffic area and periodically melt all the owned animals. this requires a fairly legendary fortress to prevent suicides and tantrums, though if you are feeling evil you may wish to get rid of the freakish cat lady dwarf of your fortress at the same time as well.
the chained/somehow confined fire imp or dragon idea is indeed worthy. you could pair it with the forbidden door pet processing room as well. or, rather then grass, you could just make it your deep underground booze stockpile. just be careful with the smoke, and use fireproof doors.