First of all, you have some terminology confused. The Recovery and Vista partitions are not “logical” partitions. They are “primary” partitions, and the MS volume type is “basic” (in contrast to "dynamic). Logical partitions reside only within a primary partition container, the single “extended” primary permitted on an x86 machine. That is, there are 4 primaries possible, of which 1 can be an extended. You cannot install linux to “another extended partition”, as one already exists.
Your partitioning is problematic for installing another OS because the Vista partition holds most of the space and is followed by an extended inside of which is XP on a logical; this is non-standard (more below). Vista’s Disk Management will downsize the Vista partition probably to about a max of ~50%. If you have the tools/capability, it would be better/easier to put XP on a new primary partition placed after the Vista partition (you have an unused primary slot). For just an example, you could downsize Vista to 75GB, create a new primary using 25GB to which you install/copy XP to, delete/re-create an extended primary in the now remaining 25GB. Inside of that extended primary you would create 3 logicals at openSUSE installation; 1 for swap, 1 for root, and 1 for home. If you need to copy XP rather than reinstall it, you can do the copy off the logical to the new primary as long as you dismount the XP partition first and use the appropriate tool; IIRC the Windows xcopy program from the command line can do this (Vista may have something more). You would need to reinstall the XP boot sector in its new primary; this can be done with 1 of several Windows tools including the XP CD. And then modify the Vista bcd boot registry to find the XP boot sector, because . . .
Microsoft’s recommended approach to what you are doing is to install XP to the first partition, making its root (C) the “system partition” (MS term for the partition from which the boot is launched). Then Vista is installed in the second partition (D); its bcd boot registry will be placed in c:/bcd and its partition will be marked active. The MBR code will load the Vista boot sector from (D) will will call the Vista boot loader bootmgr which besides booting Vista (calling another program under Vista’s /windows/system32) will also call ntldr from C to boot XP. I detail this because of how well it also facilitates installing linux. Vista’s bootmgr is much more powerful than XP’s ntldr. When installing linux, put grub in the linux root partition boot sector. Then in Vista add an entry to the Vista boot registry (bcd) pointing to the linux partition; Vista will chainload to that boot sector and load grub. The Vista bcd can be updated with MS (horrendous) editor bcdedit or (the wildly popular, very easy to use) EasyBCD tool from Neosmart.
Whatever you do, you will need to move/re-create the extended primary and anything within it.
As an aside, be very careful deciding which tools to do any physical changes to the partitions. Vista uses different partitioning rules than any other OS, including XP. There are combinations of factors that can result in an XP changed partition making Vista unbootable and the reverse. You will see conflicting advice. In your setup, IMO it would be best to create the new XP partition with Vista; but note that one of the issues with Vista is how it handles logicals within an extended, so another reason for XP to be on its own primary. For the linux partitions within the extended primary, let linux create the logicals. Do not, repeat, do not use a 3rd-party commercial partitioning product unless its version is “certified” for Vista. Versions of Partition Magic and similar products which support XP and earlier versions of Windows, do not contain changes to accomodate the different partition alignment boundary rules in Vista; these tools can unintentionally destroy Vista partitions.
Very good info at http://www.multibooters.co.uk/