You can't do that with twilio, but you could have a service that cuts an mp3 to the duration you want, and give twilio that URL. It would be something like
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>The average hold time is 15 seconds and you are in position 2.</Say>
<Gather timeout="30" action="http://someURL.com?nextStep=OptOut" method="GET" numDigits="1">
<Play>http://example.com/cut?url=http%3A%2F%2Fcom.twilio.sounds.music.s3.amazonaws.com%2FBusyStrings.mp3&length=30</Play>
</Gather>
<Redirect method="GET">http://someURL.com?nextStep=Hold</Redirect>
</Response>
You can take a look into this blog post on how to using mtpsplit or mp3cut to get the first 30 seconds of your awesome music.