Is it possible to restrict where coins from a given P2SH address can be sent to?
No, Bitcoin script has no view of the output of a transaction as a design decision. This sort of behavior is called a covenant, which is usually regarded to be a fairly poor idea.