You can do this by mapping the ISDN cause code to the SIP response. The cause code for no channel available should be cause 34, but it might be something else such as cause 26 or 44. I would try the following command:
voice cause-code-map from-pri 34 486
This will cause the Adtran to send a SIP 486 (user busy) when it gets a cause 34 (no circuit/channel available) from the PRI.
If this doesn't fix it, do a "debug isdn l2-f" and place a call when all channels are in use to see what ISDN cause is sent and map that to SIP 486 in a similar manner.