You can check halfops via ($nick ishop $chan). Regarding protected/admin and owner, there is no operator like isreg/isvoice/ishop/isop. Eighter make a script grabbing and parsing all rawmodes, or use $nick(#,N/nick,aohvr,aohvr).pnick property to check for owner-/admin-status.
At least on unreal, get all supported nick prefixes via "/version"; the reply contains a string to associate mode chars with pnick properties, eg. "PREFIX=(qaohv)~&@%+" means:
mode: +q = char: ~ (= status: owner)
mode: +a = char: & (= status: admin) etc
$nickmode will return "qaohv", (I dont remember a proper identifier returning the later "~&@%+", maybe there is none)