the obvious solution to me is to implement this in hell. let people use the first two difficulties to swap stuff around, and one of the added difficulties in doing hell/inferno is that you can't swap skills outside of town.
i'd argue that it MIGHT be a good idea to implement some sort of 2-skill-swapout for situational combat... ie a separate bar with two skills of your choice on it you can't use actively, but can switch in and out in combat. THAT could have a timer on it (120s to prevent exploiting would be fine), and prevent people from having access to their whole skill tree. so in town in hell/inferno difficulty, you set your 6 actives, load up 2 more actives for situational combat, and set your 3 passives (locked).