I don't see a faster way for this. But if you need to count often, you could generate a second HoH for a one-time cost and have that and all other counts for no cost at all after that.
my %counts=();
foreach $kid (%hoh) {
foreach my $attribute (%$kid) {
$counts{$attribute}{$kid->{attribute})++;
}
}
...
print $counts{'age'}{12};
Sadly this "one-time" cost has to be paid whenever the data changes (unless you also adjust the counts in the second HoH whenever you change anything)
UPDATE: Fixed the bug in the first line thanks to warnings from johngg and chromatic. It was too much to hope that I could write even a 4-liner without a trivial bug.