Budgets can be created as 'overall' or by Class. So in your case you could use 'class' to separate different grant programs - although thats not a typical class breakdown.
The fiscal year in budgets is always based on the company setting - but if you ignore the apparent fiscal year and fill in the class budgets for the correct months (which may be spread across multiple fiscal years) then you still get the result you want in reporting for individual months and groups of months.