Superb work @SplitRound - Just clearing up a few things:
So any player we take in the national draft gets a 2 year contract?
Almost. Players over 23 can be offered a 1 year contract, but everyone else gets a 2 year contract with terms defined by the AFL CBA (match payments, bonuses for high draft picks and so on).
Almost there, a couple of things it is a 2 year minimum rather than an absolute 2 years (Sydney used to hand all their draftees 3 years, still do for 1st rounders - and Joe Dan hasn't publicly re-signed since being drafted, he isn't out of contract this season and 2017 would be 5 years). The other thing you've left out is clubs can also opt to offer 1 year contracts to anybody previously drafted onto an AFL list (senior or rookie).
Just in regards to Rookie B's, it was mentioned in the recent article about Conor McKenna that St Kilda have just signed 2 Irishmen. How can do this if clubs are only supposed to be allowed 1?
You can sign one onto the category B rookie list, any others have to go onto the regular rookie list. I'll make that clearer. I believe what happened is the GAA complained about the AFL taking all the good young Irish players, and maybe even threatened to pull out of the international rules (ooh, scary). The AFL decided to compromise with the "only one rookie B Irish player" rule.
The opposite actually, the GAA was threatened by the AFL raiding all their young talent so for many years all Irish rookies taken had to fill a normal spot (what we'd now call category A), it has only been in the last 4-5 years that the GAA have softened their stance to allow clubs to take 1 Irish rookie as category B.