The place you would have to really do this is in the ISP network and have them use QoS on their end of the link to favor your magic jack traffic over the directtv.
The only other way YOU can do anything is to have your router try to limit the amount of directtv traffic when it sees a magic jack call up. Not sure your router has this feature...and even if it does dropping traffic after your router already receives it does not always give the result desired.
You problem unfortunately is at your ISP office. Say your ISP can send 10 packets per second to you (made up numbers). At any point of time say they have 12 directtv packets and 1 voice packet. Only 10 fit in the connection to your house. So they have to drop 3. Since they think all packets are the same they drop 3 randomly. Unfortunately voice unlike directtv does not tolerate having its packets dropped. Your problem is the packets are already dropped they never get sent to your house so you can do nothing on your end they are gone.
The theory that is used sometimes is that you can try to reduce the number of packets you send to directtv asking for data...the idea is if you ask for less directtv will send you less. But because of how the communication protocols actually works it is extremely difficult to do this in a network device. In some cases it will actually increase the traffic rather than reduce it.