I hope by "two sites" you did mean two different sites, not the same application deployed in Web farm or web garden or load balance.
If you really did mean about two different sites, the answer is "Yes"! I found it a few days ago, that uses an HttpModule to set the same application name for each Asp.net application. See
Sharing Session Across Applications[
^]. Didn't test it though.
Well, if you did mean about web farm/web garden/load-balanced deployment of same application, you should simply use session mode = "stateserver" or "sqlserver", so that, your session data is not stored in the application memory, rather, stored in out of process or SQL Sever respectively, that can be shared across all instances of the same application. See
http://msdn.microsoft.com/en-us/library/ms972429.aspx[
^] for details.