I've 2 Windows XP installed in my system on 2 different partition one in c: and another is on D: , if i'm working in my c: drive's xp than can i run my D: drive's XP in MS Virtual PC 2007's virtual windows?
Yes and No.
I am not 100% sure if you can set an actual disk/partition as a virtual hard drive. Anyway, Personally, when I need to work on actual partitions / drives, I use VMware Workstation (however not sure what else can do it), and I love this feature.
The virtualised hardware will be completely different to what Windows XP is expecting when it runs normally and I am 99.9999% sure that when you try and run, you will get a Bluescreen error.
You will need to do a repair install or a fresh install in order to get XP working in this way, however, again, when you do have this working - you will not be able to natively boot into it as you will have the same problem.
I would recommend looking at something like Vmware Converter which should be able to convert your existing installation to a virtual one as this could have you running in a virtual environment rapidly - it is not the best thing for what you want to do, but it could get you started.
So, in summary - what you want to do, it is possible, just not very practical to do a repair install each time you want to switch hardware. (You may be able to do a Sysprep type generalise, however I do not recommend this each time you want to switch virtual to physical)
What is it that's different about the environments?
If you need files on the other partition, simply make a shortcut to where they are located.
If you need to run it because it has certain programs and features installed, I'd also recommend using VMWare converter as Wil mentioned - Make an image out of the live partition.