For your first question, the difference is 'wantarray' - if the function (localtime) sees you are calling it in scalar context, it returns a string. If you are calling it in array (or list) context, it returns a list (or array).
For you second question, you might want to think about an array (or possibly a list. No, here, it's definitely an array).
my @days = qw(Sun Mon Tue Wed Thu Fri Sat);
$day = $days[(localtime)[6]];
The magic happens in
(localtime)[6] which means 'return localtime as an (array), and give me the seventh element of that array'.
Update:Fixed erroneous bogo-link.