
I have this big laundry list of features that I think SL should have. I keep getting asked to post it, so here goes:
Features that SL should have
Things that should be easy to write in. "Low hanging-fruit"
1) buy->for friend
Usually we prefer copy/no-transfer, because you can make backups/create outfits, except when you want to give it as a gift. This way you can safely and simply give notransfer items.
2) More texture layers for our avatars
(under-under-shirt, etc) We want to combine multiple garments from multiple outfits. This won't add to lag for other people, because all layers are baked together into a single texture.
3) Ability to change a garment from a shirt to undershirt, pants to underpants etc.
Sometimes you want to wear an undershirt on top of another garment, without having to bug the creator.
4) More attach points, ability to attach multiple things to one point
Some places, such as your lower back are impossible to attach a point to so that it deforms with your avatar.
Some attach points, such as your hip, you want to be able attach more than one thing to. The hips are unique, because they are the only place that you can position programmatically, because it is not dependent on avatar height/proportions.
5) Shirts layer that actually reaches pant layer.
Right now, if you're just wearing a shirt and pants, you're going to be showing some skin in your midsection. This is stupid.
6) Objects (vehicles!) that are partially phantom
There's no need for collision detection to run on every single prim in a vehicle. This will ease load from the physics engine.
7) >15 groups
15 groups is not enough, especially because we need groups to help control building rights.

Nobody remembers when their week is up.
9) A way to turn off foot shadows
Foot shadows are done badly. They go through your feet, they get in the way, and they can ruin an otherwise good photo which you want to photoshop anyways. Right now, the only way to turn them off is to edit viewerart.ini, which is highly inconvenient.
10) recursive permission set
Setting permissions on objects, object contents, and child prim contents is excruciating. "Did you get them all? Double-check. Triple-check. Whoops, forgot one, too late, it's pirated into the oblivion."
The ability to set a single set of permissions on an object and all its contents and all its child prims' contents would be incredibly helpful.
11) Animations that actually set your hands
When you play an animation right now, your hands may or may not do what you specified when you uploaded the animation. I thought this was a bug when I reported it, apparently it's a feature.
12) A slingo/tringo tab for events
It's popular! Tringo players want to find a game easily. Non-tringo players don't want to surf through the listings.
13) Once upon a time, a certain Linden once asked me "how much do you make selling seburos?" I answered, "I don't know", because I didn't know. (I don't calculate revenues like that) Moments later they broke down how much I made on all the items I sold in the last 30 days. It'd be nice to have that feature exposed to the users

14) A way to apply 2 textures to a prim face. This would be good for adding light maps to builds, or making the bumpmapping option actually useful.
15) More classifieds forums.
This is the real reason that classified thread-bumping was such a big problem - there aren't enough forums for items not to slide off the front page too quickly.
Clothing-Male, Clothing-Female-outfits, Clothing-Female-shirts, Clothing-Shoes, etc etc
16) Show as offline
Sometimes we want to log in and build, without being IMed by friends/customers/etc
17) How many prims am I using on this parcel?
Property owners can easily count how many prims on a given parcel you are using. But you can't count your own prims on other people's parcels. This is an inconvenient and arbitrary limitation.
1

We often avoid "emptying the trash" because it's not easy to avoid deleting things you worked on yesterday that you still might need, but throw out older items.
19) A way to broadcast a message to all people in the group without having to start a vote. (Even delivering messages to people who are offline)
20) A way to allow people to join group while a group vote is running
21) Search and replace functions in the in-world notecard/script editor.
22) A maximum of 16 matches returned by llSensor() is not enough. You should be able to llSensor() as many people as can fit inside a simulator.
23) A way to exchange calling cards while offline or not in the same sim.
Sometimes you really want to have a dialog with someone in-world - maybe you've communicated via forums/email/offline IMs, and now you need to actually talk. But you never realize when the other's online, because you've never exchanged calling cards. Maybe make offline calling card exchanges cost L$1k if they're not accepted to avoid spam.
24) A way to differentiate objects that IM you, and objects that are chatting. They both show up in green.
25) llShoutToSim(). llShout() has a distance of 96m. This is highly inconvenient if you have two objects in the same sim, but may be farther apart - you have to build a relay system/network for quick communication. Basically, something like llOwnerSay() that works between objects.
26) When you bring up someone's profile, the "Online" status should be resolved on online or offline, not "unknown". This will cut down on the amount of "hi r u ther" offline IMs we all get.
27) Storing a larger queue of offline IMs. I'm sure it's happened to everyone - "maximum number of messages - offline messages capped". Maybe store up to 200 messages, for a week at most.
Things that might not be as easy, but are still important.
1) Privacy
Right now, the only reasonable way of having privacy is to buy an island, and make it invisible. $1200 + $200/month is a bit stiff. Ideally we could host our own sims on our own computers, which would exist only while we're logged in to SL. Ideally, we could even run our own private sim offline.
2) sim-crossings
Sim crossings suck. When I fly around, I have one eye on the map to make sure I don't cross on a sim corner. This is dumb. Sim borders should be handled transparently. Second Life should give you the experience that you're in the middle of a vast landscape, not set of square tiles roughly stitched together.
3) Actually loading textures
HTTP is 15 years old, and is contrained by TCP's performance. SL is only a few years old, and there's no legacy compatability issues. There is no good reason why loading pictures on a webpage should be so much faster than getting textures down from SL. And it's maddening sometimes, textures just won't load no matter what you do.
A friend of mine told me she walked around for half an hour, topless, thinking "oh, my texture just hasn't loaded yet." This is what we're used to now, and there's no good reason for it.
4) Fix up the avatars
Avatars deform terribly with animations. Our shoulders, stomaches and back-sides are big problem areas.
6) Inverse Kinematics
We need some way of telling an avatar to try and perform an action, like "reach for this pencil." There is no way in SL right now to get two people to shake hands, without creating a custom animation for each avatar, dependent on their size, shape and proportions.
7) Real-time scripting
The new script scheduler sucks a lot at this task. LSL was slow enough before. Writing interactive scripts with real-time constraints (like shooting a gun, driving a vehicle) give you unpredictable, and highly varying results.

The only way for scripts to store any significant amount of information in SL, is to communicate it to a server off-world. In addition to being inconvenient, this is not a reliable operation, since off-world communication doesn't always work. (eg. SL's mailserver is not reliable)
9) Sensors that can extend into adjacent sims. Right now, sensing something just across a sim border is not reliable.
This last feature suggestion is a bit 'out there' and doesn't quite fit in with the rest:
I'm told that LL, internally has some software package they call "the love machine". Basically, as I understand, it's a way for LL employees to give each other feedback that's stored by the system. Things like, "Thanks for helping me track down that bug". These little comments are archived, and then brought up at review time. I've been lead to believe it's an effective way of using positive reinforcement that's helped increase productivity and identify good employees.
I frequently hear complaints about LL's customer service quality, often singling out particular Lindens. What about having a version of "the love machine" that SLers can use to leave feedback for Lindens? "Hey, thanks Some Linden for rolling back my sim so quickly, just in time for my event."