>> all of their connections would come from the same ip address.
correct. (By inference, you cannot assume that one IP address = one device.) which is why you can't use the IP address as the session ID. But I digress;
>> Is there a way to uniquely identify any of these pc's that make connections?
I'm not sure what you mean by "uniquely identify". If you place a cookie on the machine, then with the next request you get the cookie. (This is exactly how sessions work). However if you want some "unique number, which the device generates and sends to you with each request - then no, nothing like that exists.
and if you think about it, if it did, there would be a lot less effort surrounding cookies, especially tracking cookies.
Cheers
Bruce