If I am cloning a 500GB disk, does the target drive have to be the same size or can it be just large enough to hold the volume of data present on the source drive?
It would be best if the target disk as at least the same size as the volume/partition that needs to be cloned. But, if the data area is smaller and you can be sure that the clone will contain the important stuff, that should be okay. Still, because it's difficult to actually make sure of this, it's not good practice.
If the OS I am trying to repair is XP Prof. SP3 but the disk I am building with is XP Home SP1, is that a problem?
Not if all you are fixing is system boot files, but I can't be sure. Simply try, can't get any worse now can it?