The easiest way to think of seniority is to consider it your place in a queue. You are given a number the day you join. If I recall correctly, within a course it was given based on the number of hours you had when you joined. Each year it goes up as people ahead of you retire, or move on.
When a new type appears, or annual leave, or anything really, we bid for it. Then it will be allocated based on seniority. Note that seniority does not get you a promotion. It simply allows you to bid for the course...you still have to be recommended (by training) and then pass. If nobody wants something, then the company will assign the positions, in reverse seniority.
As it turns out, people want all sorts of different things, so the upshot is that the most senior people are scattered all over the fleets.
You can work out your theoretical lowest number easily enough. How many people are senior to you, but also younger? They'll outlast you, so that's as low as you'll get. Many years ago, one of the pilots wrote an application which would look at this, and project it for each year. What was notable was the way there would be relative stagnation for long periods, followed by years of huge jumps, as large groups retired. This program fell by the wayside many years ago, and also the retirement age assumptions it was based on have also changed as the age has been moved a couple of times. What it did imply though, was that turning recruitment on and off, making it function like an accordion, was a folly. It generates troughs of promotion stagnation, followed by overwhelming bursts of training/promotion. Conversely, a slow and steady system, which in some years might take a few more than needed, but overall averages out, made for a much more balanced progression.