Certificate policies and basic constraints are completely orthogonal issues. Policy mappings impact the processing of the "policy tree" but do not change the length of the path, and do not make a CA certificate a non-CA or vice versa.
Are you sure you want to use an explicit path length in the Basic Constraints ? This is rarely done; as such, it is quite possibly mis-implemented by some certificate validation engines. Setting an explicit length is used to give to a sub-CA the power to be a CA (i.e. issue certificates) but to prevent them from delegating that power to a sub-sub-CA. It takes some effort to find a situation where such a restriction makes sense: if a CA considers its sub-CA as a potential attacker, then there is something definitely rotten in the kingdom. Said otherwise, an hostile sub-CA already has tremendous power of nuisance even if it cannot issue a sub-sub-CA.
I would advise, for better interoperability, not to include an explicit length in the Basic Constraints extension. Mark CAs as CAs and non-CAs as non-CAs, and that should be enough.