yeah you can do that. but you have to install win xp then solaris and then linux. the solaris file system and linux swap have the same file system code. so if linux is already there solaris will try to install itself on the swap partiton of linux.you cant override that so the solaris should go first. while installing tell it not to occupy the whole disk. then you can install linux on the remaining space. while installing linux dont format the soalris partition.
yes you can use GRUB to load the OS.