In theory, you could use the 'Remove Interaction Skill' toolstep. You would need to create additional skills like 'Tier1', 'Tier2', 'Tier3', etc... When initially queuing the call, assign all 3 skills, then remove skills as needed to broaden the scope of the agent pool.
*Agent Assignment
Agent1 - Tier1 + Tier2 + Tier3
Agent2 - Tier1 + Tier2
Agent3 - Tier1
*Call Flow
Call Enters Queue
ACD Specify Skill Teir1 + Tier2 + Tier3 (Call would only be delivered to Agent1)
ACD Remove Skill Tier 3 (Call would be delivered to Agent1 or Agent 2)
ACD Remove Skill Tier 2 (Call would be delivered to Agents 1-3)
I haven’t actually implemented this, but in theory, it should give you the desired result and I don’t think reported will be affected.