This is an old question, but for those that may land here via search and whatnot...
As you mentioned, you can use web data lookups to get data on the client side through JavaScript (Using the Eloqua Cookie to Personalize Your Website, FAQ: Web data lookups).
To get this data on the server side, get the GUID (you may need to wait for the page to load so that the cookie is loaded, grab the GUID with JavaScript and then send it into the server with an AJAX call) and make a call into the SOAP API (Eloqua SOAP API Documentation) to get the visitor profile (Eloqua API How To: Query for Visitor Profile Data). Provided that the visitor has been linked to a known contact, the visitor profile data will have the known contact ID - use that contact ID to call into the REST API (Eloqua REST API - Searching for Contacts) and get whatever contact data you want, including email address.