You can build two user controls and use a session variable to communicate between the two user controls on the same page.
So what I've done, is create two user controls; one control to set the variable and the second to read the variable. Then you can create one .aspx page and put two smart part webparts on it. This way you can don't have to create two pages.
Another solution is to write it to database or .xml file and read it in on the other user control.
I don't think you can share variables between user controls.