Maximum values at VL field
There is no limit in my knowledge (or high enough in logical sense) but how much value is that much slowness in the system and process. As port numbers would be around 65.000 values, it would not be suggested to make them a value list but a numeric field (like Threat Management Module has port number field as numeric by default).
I'd suggest to make TCP - UDP choice only as value list.
Like unal_perendi mention there's no theoretical limit but you will take performance hit when selecting a value; values pop-up is the best setting from the values list that has a lot of values. Also will see a performance hit when doing an advanced search.
Numeric field is best approach. It's easier to type in the port number then finding it in a selection.
I don't have Threat Management Module, and don't see any example of collecting port information).
The only issue for using numeric field is multiple choice.