1) Ultrapeers don't increase the horizon, and that's not their purpose either. It simply takes the traffic load off clients who connect as "leaves" to the Ultrapeer. And to add to that: Ultrapeers should mix its connections more, limiting leaves to those who have stricter bandwidth parameters, such as the case with modem users.
2) Per definition of "swarming", no Gnutella clients use swarming. I doubt this kind of swarming will be implemented as well, as this will pose quite some concerns for everyone. If you mean multi-source downloads (parallel downloads), then yes. This is something you'll see soon with the HUGE proposal, which has the ability to create a mesh.
3) I have it in my client (it also show image previews, FYI). But I'd certainly like to see it in other clients as well.
4) That's an iffy. People generally don't like other applications sniffing around on the PC, even if the application "says" it is searching for media that can be shared. It's best to leave that up to the end user. However, I would force the download directory as the upload directory as well, even though there are workarounds for that.
5) There's not much sense to that. It would be wiser to have a global cap on the upload speeds.
6) No, that's not going to work. Consider someone who's new to Gnutella and perhaps even to the world of filesharing in general. He/she may not have anything to share, even though there's intent. How can one satisfy that intent if he/she isn't allowed to download?
7) That would mean you could share ".dat" files as well. Currently, you woudln't want to encourage the uploads/downloads of halfway completed files. With the mesh coming up, this can change though.