why does the list need to be a numbered list if you are having to restrict user input to not duplicate the members? As @anand.shekhawat stated, having duplicate members as the display name is one of the main characteristics of a numbered list.
Now, if it has to be a numbered list and the requirement is to not allow users to enter duplicate values, I would potentially go down this route.
Create a "flat" list with valid values, like Promotions Flat
The Display Name should be formatted as Text. In the SYS module storing the logic, create a line item with the formula Finditem(Promotions Flat, Display Name). Name it Add Promotion
Create a Boolean line item called Load? with the formula Isblank(Add Promotion)
create a view, using Load? as the filter.
Create an action to load the new member to the list
Create another view using Load? as the filter and call the view Load to Promotions Flat. You need this view because you cannot use the same view in multiple actions within a process.
Create a Process adding the above two actions (loading to the list, loading to Promotions Flat)