First question:
You are already initializing it with a socket. NSStream's getStreamsToHost message already gives you a socket to talk to specified host, post. Whenever you want to write to the socket, just use oStream.
Second question:
Kind of answered in the first question. Keep in mind that you are opening a socket to port 80. So, probably you are running a WebServer on the remote host. And to be able to send an image to the remote server, you would need to implement HTTP protocol. Check my suggestion below. I think it will make your life easier.
A little suggestion:
I know you didn't ask this, but let me give you a suggestion. You are trying to send an image through a socket. I would use a higher level protocol such as HTTP or FTP to do that. Using a plain socket will force you to implement a new protocol yourself, not to mention the server side code to process incoming images.
So, if you use HTTP, just write a little server side script in your favorite WEB developing platform (.NET, PHP, Java, Python, RoR, CGI, whatever) and just use guidelines on this WebPage to submit the image on iPhone. It's way easier.