Spent a little while this afternoon looking up OIDs via the SNMPWalk program and it does look like this will be possible. Annoyingly the OIDs for toner and make/model aren't always the same value between different models of the same manufacturer (Xerox in my case). Nothing that can't be dealt with in the script though.

The way I see it the script will need to:

Query current printer for Make\Model
Depending on Make\Model choose the correct list of OIDs
Query the printer again for the current OIDs for toner
Make a note if they're below a threshold
Cycle through all printers with the above script
Finish (in my case) by sending an email to the service desk logging system with the list of toners below the threshold.

It would be nice to also query the location of the printer (we configure the location on all our printers) so hopefully I can get that info as well from SNMP.

Not sure how I'll get a list from the print server of all the printers' IPs and would rather avoid having to store a static list of IP addresses in an array in the script, something else to look into I guess.