Let's say I'm updating some data on a page using Ajax. I need to call it on a timer so if a user sits on the page it will keep updating. What's a reasonable rate to poll at to try and maintain a "real-time" feel without running up the client's CPU usage or impeding them in some other noticeable way?
If you really want to maintain that level of a real time feel, I would strongly suggest that you look into Comet. Comet -- also known as Reverse Ajax -- involves the client JavaScript opening a connection to the server and the server keeping that connection open until it's ready to send a response/update to the client.
This is used a lot in live chat applications, and there are Chat Demos and other Comet Demos that demonstrate the concept.
If you poll any more often than about 10 seconds, you will waste bandwidth and CPU cycles. The overhead of opening and closing a connection and the load on your server would be intense.