If you can find a way to sort these portal records in descending order, you can specifiy this sort order in a relationship (use a different table occurrence to the same table than what you used for your portal if you don't want the portal sorted the same way) and then a single set field or set variable script step or even a calculation or Looked up value setting can access a field from the most recent budget year record.
Set Variable [$MaxBudgetStart]; Value: MaxBudgetYear::BudgetYearStart ]
Just specify a sort order by BudgetYearStart in descending order in the relationship to MaxBudgetYear.
If "table occurrence" is a new term, see this thread: Tutorial: What are Table Occurrences?
This table which holds the budget years should be handled without script. Consider this:
Add to this budget table a number field called Serial which is the start year (auto-enter serial starting at 2008 for instance). Then you simply have a calculation called cBudgetYear with: Serial & "-" & Serial + 1
To start this process, show all records and place your cursor in the serial field and Replace Field Contents with 'by calculation of':
Left ( budgetyear ; 4 )
Once this is correct, you can change your BudgetYear to a calculation (text) with the Serial & "-" & Serial + 1 calc. Then set your next serial (in auto-enter) to the next year, such as 2011 and you'll be in business - never having to worry about it.