I'm guessing that the default Application timeout is 20 minutes. But is there a way for us to extend that for our sites?
You can use the Scheduled Task Manager tool in the Control Panel to prevent your application from timing out. For more information about the tool, please read this Knowledge Base article: http://support.discountasp.net/KB/a166/scheduled-task-manager.aspx
We are having the 20 minute timeout when the user is idle (a session timeout). Is there a way that the Scheduled Task Manager would address this? If not, is there any way to extend the time for a session timeout?
Yes. All you need to do is to use the Scheduled Task Manager to call a page every 15 minutes to prevent your application pool from timing out. The page could be as simple as a "Hello, World" html file.
Is it necessary to request a full page in order to "reset the clock" for the app pool recycle, or will an AJAX request invoked via a timer on the page work as well for this?
You can give it a shot and see if it works but the timeout will happen if no HTTP request are made within 20 minutes. If it doesn't work you can always use the Scheduled Task Manager as stated above.
Well, all requests from a browser to a web server are through HTTP, even AJAX ones, so I guess I have to assume, given your answer, that putting a timer on an AJAX request should work. I'll try it and see what happens, and let you know.