Robin2:
Then the page the user is looking at must ask the server to update the page. The update cannot be initiated by the server.
Yes it can - if you use web sockets.
Basically, the page would establish a web socket connection with the server; this necessitates the need to set up a web socket server in PHP (presumably what the OP wants to do - personally, I would use Node.js) - here's one of many tutorials:
Creating Real Time Applications with PHP and WebSockets
So - you would have this index.php page sitting on a server; the Arduino would make a request to it via WiFi (personally, I would make it a GET request, rather than a POST - unless there is some special reason a POST request is wanted).
The PHP program would use that data to go out and query facebook, twitter, etc - another tutorial:
Build Your First Twitter App Using PHP in 8 Easy Steps
Some processing is done, then the page would send the data via the opened websocket to the leaderboard browser.
Now - you would either need to make this index.php page smart, and have it somehow know when it is talking to the Arduino vs when it is establishing a websocket connection to the leaderboard browser - or you would need two separate page (and somehow communicate the websocket and session information between them) - but ultimately both things can be easily done.
The leaderboard page would be basically a pure DHTML and AJAX style page served up by the server; the web browser would render the output, and establish the websocket connection with the server; this socket stays open, waiting for receive events (when the server sends data over the open websocket).
Your response time will likely be most dependent on how fast you can get the data from your feeds and parse it; the websocket connection itself will be really fast (I once created a simple demo where I served up a WebGL cube on a browser, and established a websocket connection back to the server for rotation information; then I had my browser on my phone connect and get a page for sending the orientation sensor values over a websocket - the server just basically piped the data thru to the WebGL page - it worked extremely well - in theory, I could have possibly done away with the server, but there were firewalls in the way preventing that).
Hopefully - that all helps.