The SPTimerJobAdmin project http://sptimerjobadmin.codeplex.com/ looks to provide what you are asking for, though it appears to be specifically for the 2007 product, so I can't say what it might do under 2010, but perhaps it can point you in the right direction and updating for 2010 shouldn't be too hard, it is a fairly small project.
As far using C# or PowerShell to query the timer jobs, you can probably find what you need in the SPFarm class (you will need to add a reference to the Microsoft.SharePoint.Administration namespace or fully qualify the class name). You can iterate over the jobs pretty easily:
var farm = Microsoft.SharePoint.Administration.SPFarm.Local;
foreach (var job in farm.TimerService.JobDefinitions)
{
// check what you want from each job
// Typical Properties: Schedule, Title, LastRunTime, TypeName, Status
}
It would be similar in PowerShell:
# Load the SharePoint assembly if necessary
PS C:\> [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
PS C:\> $farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
PS C:\> $farm.TimerService.JobDefinitions | select Title,LastRunTime,Status