I know of three possible ways that you could acomplish this task.
Your first option would be to use a modern day source control system such as TFS 2010 or SubVersion. These types of system can not only store your source code but you can also perform branching and merging of source code.
Your second option would be to develop the changes seperately and use something link Beyond Compare 3 from Scooter Software (http://scootersoftware.com/
). This handy tool will allow you to compare both sets of files, and merge them together.
Your third option would be to have the contractors develop different components independently and then integrate them into a clean Sitefinity enviroment later on. For example, if you need two seperate widgets developers then farm them out independently.
In all three cases when you go to merge the files back together, be careful with the App_Data folder in your Sitefinity project as it contains all of your configurations specific to that instance of Sitefinity. If you are using SQL Express then you will also have a Sitefinity.mdf file which is were all of your data is stored.
I recommend the third option if it is at all possible, and if the two teams are working closely together then you could go with either option #1 or #2.