If I understand the question correctly, you just want to assign a predefined list, or a empty field for the valves?
In the Project Properties, you can go into the P&ID Classes, and drill through the list until you get to the valves. Inside the Valves section, you can add a field called "Part Number" at the Parent, which means the valves under the parent get this new field. You can make the field a pulldown list, or just an empty field, to which the users would put in the appropriate part number for the valve.
Another thing you could do is to make a valve for each part number listed in your project. I am just saying this because of the comment you made about having the pull down list. At least this way you could place the valve in your Palette and have the description listed next to it so the user knew the valve they were using. The only problem is that the valve still could be placed on any size line even through the description might say a particular size.
So, when you set this up in the project properties you would go ahead and enter the part number. That way when the valve is placed the part number is already assocaited with the valve.
So, then the user would look at the palette for valve and select the correct one to place on the line. Then as you can see in the properties you can see the part number is assocaited with the valve.
I have already done what Tomislav has suggested as kind of a test. It would be a passable solution except by the time I'm done we could literally have hundreds of parts. I'm also afraid it would be tedious to dig through all the parts and it would be easy for the user to select the wrong part for the size and service.
In that case, let the designers leave the number blank and use Data Manager to export the P&ID data to Excel, in which you can edit the part numbers, and then import the data back in.