Hi!
On a SATA drive you won't find any jumpers to determine if the drive is "Master" or "Slave"... or "Primary" or "Secondary". It's all determined by the SATA port the drive is connected to - so just re-plugging the SATA cables will be enough.
However, it is possible that you break your XP installations this way: After re-plugging, XP won't be installed on the first hard drive any longer, but on the second drive. I don't know how closely XP gets "married" to teh system during setup, but if there's information like "This XP is installed on the first hard drive in primary partition 2" is stored somewhere in the system, XP won't find its system files any longer after this procedure - and will most likely fail to boot.
After all, it's up to you:
- You can try to install Vista to the first hard drive (with the XP installations on the same disk);
- you can try to install it to the second drive (with the XP drive still in the first place, so you won't change the location where the XP system files can be found);
- you can re-connect your drives, install Vista to teh first drive, and hope that XP still boots from the second drive.
Whatever you do, be aware that it's kind of experimental - it could be necessary to start over again from the beginning (so to say, wirth blank hard drives)!
By the way, GRUB ist definititely able to boot operating systems that don't reside on the GRUB installation drive.
And if you read the GRUB documentation you'll find something about BIOS drive remapping - this means that GRUB is able to change the order in which your hard drives are visible to the BIOS before booting an operating system (in theory, you could boot DOS from the second hard drive using this method). BE aware that this may not work for your XP installations since XP does not rely on what the BIOS reports about your hardware! To speak in trerms of your re-plugging idea, your BIOS may report your XP drive to be in the first place (since GRUB can modify the drive assignment at BIOS level before handing the boot process off to the XP boot loader) - however, since XP talks directly to your SATA controller, it will see that the BIOS is lying and that the XP drive is in fact connected at the second port...
About adding a partition ID manipulation function to GParted: I am not a developer, but I think it won't be a good idea to include this function. GParted in principle is a easy-to-use partitioning tool, and making it possible to separate the partition ID from the file system would make the tool too complex in my eyes.
In practice, you'll need a partition to carry a given ID if you use sa specific file system on this partition; otherwise the partition won't be detected by your operating system(s) at all. Making it possible to manipulate the partition ID will make many people think they can "convert" between file systems with nothing more than a mouse click - and then leave them wondering why nothing works.
The problem behind this is that you have several hierarchy levels of software that depend on each other. You could think of partitions as storage boxes you have in your kitchen. One contains rice (and is labelled accordingly), another one bread, the next one sugar and so on. The contents of the box resembles the file system used on the partition while the writing on the box represents the partition label. If you want to cook a risotto (~use a drie from inside Windows), you need rice for it (~the partiton must be formatted using NTFS), and Windows is clever enough to look at the partition labels instead of trying to read each partition (so it opens only the boxes with "rice" written on them).
GParted keeps the boxes' contenty and label synchronized, so if you use GParted and afterwards Windows opens the rice box (partition carrying an "NTFS" partitoon ID), it will find rice (NTFS) inside and be happy.
But if you are able to modify the boxes' contents and labels inedependently, you vertainly will end up with Windows looking into the nox labelled rice, but finding sugar inside - which it can't use, so it won't work.
You have the same thing with regular files on Windows: Windows relies on the file name extension to describe what's inside the file. As a result, you often see people "converting" e.g. a wave file to mp3 by just changing the file name extension - not understanding that this does not change the internal structures and contents of the file! The same people then are stunned if you "convert" their mp3 to e.g. an Excel spreadsheet (which changes the file's icon, so the "conversion" must have worked) - and Windows tries to open it in Excel, which of course fails...
So my opinion is: Keep things simple in the easy-top-use tools (which means, keep these tools easy-to-use), and do complex things that require a lot more flexibility with other, more flexible tools - which will definitiely be less easy to use, since flexibility and feature-richness have their price! If you compare e.g. the built-in Windows firewall to Linux' netfilter/iptables, you'll find that the latter is much more powerful and flexible and that you can do things in it that simply aren't possible in the Windows firewall - since adding all the functionality to the Windows firewall would turn the easy-to-use soultion into a feature monster like netfilter. There are approaches to hide netfilter's power behind a simple user interface - but these interfaces typically give you access only to a fraction of what can be done on the command line!