1 - What I recommend doing is spending a little time analyzing the Simple Socket Server example. Once you create a socket and it's connected to your host PC, you can transfer whatever data you like across it. You just need to understand how that connection is established and managed then doing your data transfers will be simple. You can even write your own printf and getchar wrapper functions around the socket interface if you like.
There are low level methods for accessing the socket but it would require you to do a lot more work on your end to establish and maintain the connection. Using the BSD socket calls is really the easiest way method to get up and running.
2 - If you don't need the TCP/IP protocol layers and you just wanted to use ethernet as a raw transport medium. Then you could get away from the TCP/IP stack altogether and simply write/read raw data to/from the ethernet interface. However, you would have to completely control both ends of the connection and all connection points between.
Jake