To your first question:
If you assign () to a scalar variable, the value of that variable will be undef.
Why it seems to be different in array assingment, I don't know.
To your second question:
The shortest undef is $\, which is undef by default.
Comment on Re: Collapsing Arrays with Empty Values