No, it doesn't understand a voices message. But I think changing the number of voices dynamically would be problematic anyway. What should happen with currently allocated voices if the number of voices is reduced?
poly~ does indeed understand a "voices [int]" message, seems not for poly... can't see why you'ld do that, but if you really need it and like bulldozer programming, you can try things like sending a message like "script delete thepoly, script newobject poly $1 @varname thepoly, script connect thepoly [connect antyhing you need here]" to thispatcher. It will create a new poly each time, hence loosing tracks of pending noteons/offs, hence surely loosing all the aim of the poly object.