If NewList would be possible inside a Structure, how would it be different? There would be no memory management madness, as there would be simply a pointer to store. Nothing too fancy, I think. If you're using C++ or Java and you're using a LinkedList inside a class, it's just a reference to the list, not the whole list elements saved inside the structure / class.
I don't think so. A list can be in global scope or in function scope. Why not also in structured scope? I don't see why this would make PB more complicated, in fact, it would only help to make it a better language. The workarounds are not elegant at all, since you always have to do weird stuff which is possible as a native thing in other languages.But as you say, there are many workarounds to do that, and some of these workarounds are really really elegant.
So then to implement that request would be a good way to complicate PB language unfoundedly, imo.
You can also regard functions as an unnecessary feature, since we could use Gosub and Return as a workaround instead. And why do we have With and EndWith? We can also just do it the normal way. Why do we have Select and EndSelect? It can be done with several Ifs.
And why LinkedLists? We could write them on our own!
In my opinion, there are tons of cases where you would love to have some function like that. It's totally normal for other languages, and it's basically just a pointer, nothing special. It's just not possible to use it that way because of some syntactic stuff. If AddElement() could accept a pointer and if @listName() would return the address of the list (or the first element), it would be already possible.