You can use sp_addextendedproperty to Version the msdb.dbo.sysjobs table or a column (e.g. version_number); however, you cannot do this for a particular record. Since the TYPE of the value of an extended property is SQLVARIANT, you could store XML on the msdb.dbo.sysjobs table, depicting the versions of all the jobs.
Or you could simply create a table in your database and store the job_id (GUID) and your current version number--a custom solution.
For what it's worth, here is how you can use sp_addextendedproperty to add, view, update and delete an extended property on the sysjobs table. I went as far as the COLUMN, but you could stop with the table:
--Add the 'Version' extended property to msdb.dbo.sysjobs.[version_number] column.
EXECUTE sp_addextendedproperty N'Version', '1.0.0.0', 'SCHEMA', N'dbo', 'TABLE', N'sysjobs', 'COLUMN', N'version_number';
--Update the 'Version' extended property
EXECUTE sp_updateextendedproperty N'Version', '1.0.0.2', 'SCHEMA', N'dbo', 'TABLE', N'sysjobs', 'COLUMN', N'version_number';
--View the current value of 'Version'
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(N'Version', 'SCHEMA', N'dbo', 'TABLE', N'sysjobs', 'COLUMN', N'version_number');
--Drop the 'Version' extended property
EXECUTE sp_dropextendedproperty N'Version', 'SCHEMA', N'dbo', 'TABLE', N'sysjobs', 'COLUMN', N'version_number';