TIME_WAIT is a TCP state and doesn't consume file descriptors persay. However the sockets in TIME_WAIT will consume file descriptors. A socket is a file like just about everything else in unix. If this is Linux you can tune the expire time of sockets (how long they are in time wait) as well as enable socket recycling in /proc/sys/net/ipv4/.
Two items of particular interest are probably:
sysctl -w net.ipv4.tcp_tw_recycle=1
sysctl -w net.ipv4.tcp_tw_reuse=1
As always, test these beforehand if you can.