The 'standard' db solution for this is to create your own 'autoincrement'. Just have a table with one field and one row: index = the last number used. You add one to that number, use it and update the number. At year end you just reset the index to 1.
This requires that you use database transactions with your queries when you do this to ensure that updates do not overlap with the index being used twice.
The reason that this is preferable to counting the actual entries in the table to get the next number is that any databse corruption or any row deletion will result in you calculating the wrong number and issuing the same job number twice.
When MySQL includes Triggers (ver 5.1) then you can use a trigger to update the index. When a row is added to your jobs, the trigger reads the job number, strips the year digits and updates the index accordingly. You will still need to use transactions to ensure that two updates do not overlap.