Nesting UDTs can get complicated and locks you in to a fixed way of working.
I would recommend your option 1, and have a standard AnalogIn UDT with alarms, setpoints etc, and a seperate PID UDT that just references the AI.ScaledValue. There will be more tags, but it seperates the logic better and allows more flexibility. Why does it matter if there are a few more tags if it makes understanding easier. Ignition can handle a lot of tags, so there will be no performance problems.