I'll take a quick stab, and trust me, I'm no expert, just a guy whose trade flirts with programming a bit. Someone could go ahead and poke holes in this 10 minute plan and that is great. That's why I'm not the guy developing the draw software. If I'm anywhere close, this proves my point.
Every application is an entry in the database, for which I'd suggest SQL, capable of just about anything and for millions of records if necessary. Each entry is assigned a unique ID for the application and has a column for number of applicants, first choice hunt #, second choice, third, fourth, etc. License numbers and more are likely in the table. This info should be automatically transferred straight from the input form (online application).
Each application is awarded another entry, or row in the database for the average number of bonus points.
Every row in the database is then assigned a random number, regardless of order in the database.
The lowest random number for each application is kept and the rest are thrown away. A simple Frequency method based on unique ID and minimum random number should suffice. If each applicant is an entry to the database, there could be an extra Frequency that groups together applicants on the same application. Same concept.
Draw algorithm #1, the Bonus Point Pass. Applications with the highest average BP is sorted from high to low. Tiebreakers for applications choosing the same hunt number with the same number of BPs use the lower random number for assignment. This process runs through from max BPs to min until 20% of each bucket is "drawn." A 5% NR cap is also present for certain species.
Draw algorithm #2, the 1-2 Pass. Applications with the lowest random numbers are sorted from low to high. This process runs through the numbers from low to high and checks the columns for hunt numbers, first and second choice in the database. If there are tags available for the given number of hunters on the application, they are "drawn." If not, the application with the same random number go back in the bucket for the 3-5 Pass. A 5% NR cap is also present for certain species.
Draw algorithm #3, the 3-5 Pass. Same as 1-2 Pass but there probably aren't any tags left for elk and antelope.
There may be a bit more to it than that, but it isn't rocket science. Again, the 10 minute version.