Not reliably.
Depending on the method of the user's connection, he or she may be sharing a single IP address with dozens of other users (as in the case of a corporate office accessing through a single server) or with thousands of other users (as in the case of AOL's huge proxy servers).
You could uniquely identify users by storing their information in a database on your side, and store a cookie on their machine that simply stores the primary key of the table, so you can look up their data easily (though you may want to encode it to prevent tampering). You could also store *all* information in a cookie. Both of these solutions, of course, require that cookies are enabled (which cannot always be relied upon, unless you require it for access to your site), and that they are persistent between visits.
A method I've used for maintaining state without cookies / session variables is to pass primary key information from page to page in hidden forms. For a simple example of doing this, check out our
cookieless shopping cart article. You could easily extend this to add a username and password so people could look up their data on a successive visit.