Those two things, high gain and short length, just don't fit together. Pick one or the other, can't have both. Then again, it just depends on what you call short. A typical 5/8 wave antenna on 2 meters is something like 3.5 to 4 feet tall. On 70cm, about a third of that. Or, a vertical array type antenna, one 1/4 wave stacked on top of another, can range from about 3 feet tall to over 6 feet tall. All of those would result in gain.
One easy way of finding out which has gain and it's length is to look at the 'AES' catalog. You don't have to buy from them, just look at the antennas. Other places have catalogs too, look at any/all of them.
- 'Doc