I have one question - I know the ethernet shield can have up to four simultaneous connections; is there a way to "differentiate" between these sessions?
I ask because I wanted to implement a system where the user can input a username, and the arduino server will save all the commands into the specified user's log.
No. The communication is stateless. A connection is opened between the client and server. The client sends a request. The server prepares a response, sends the data back, and closes the connection. The client reads the reply and closes the connection.
Also, when engineering stuff, you have to think in terms of what you want to do, and not be limited by what you think the hardware can do.