How much you allow for the OS itself is a function of how much software you install. A basic setup is <5GB; for ref I have ~12GB installed (which is a lot) on a 20GB partition so I still have plenty of room for more. In addition to that there is /home (roughly the equiv of Windows Documents and Settings); the space required there is entirely dependent on how much of your user files you keep there as opposed to on separate partitions (just as you already are doing with your W$ Personal Data volumes). A basic setup is usually only a few GB; for ref I use ~10GB with nearly all personal data on other partitions.
So, you could easily install openSUSE on the old Fedora partition and have way plenty of storage for additional data. As far as how to set up your installation, you have a couple of issues to work through. We could ask you to post back a listing of your partition table and just suggest to do “this”. But it will benefit you greatly to understand what you are looking at, because partitioning is serious business and if managed incorrectly, everything can be lost.
So, first, understand that Windows “drive letter” assignments (strictly speaking in Windows, those are “volumes”; in any event, they are not drives at all, they are partitions) are arbitrary and do not necessarily at all represent the partition layout on the disk. The physical sequence of the partitions on disk is displayed in Windows Disk Management. The physical sequence is usually but not always also the sequence of the numbering of the partitions in the disk partition table; the numbers can be out of order depending on how partitions have been added/deleted/re-added. In linux, partition identification is always pulled directly from the table. To see what your actual partition table looks like, do an fdisk -l from the command line; the partitions will be reported in physical order, and you will see if the assignment numbers are in the same sequence. Furthermore, with the number of partitions that you have, you must have an “extended” partition inside of which are “logical” partitions (in W$ Disk Management, in the graphic you will see the logicals grouped inside the extended which has a green rectangle border).
The reason this is all important is that the “D” partition may be anywhere on the disk - it could be one of the other three primaries (C will be on a primary), or it could be one of the logicals. In the installation partitioning step, click on custom (or expert) and you will see the partition table as it really is. There you will be able just by size to identify which is the Windows “D”. If you want to install just on that partition, all you need do is specify there to format it ext3, and enter a forward-slash (that is, a /) in the mount point field.
Which leads to your second issue. You need a partition for “swap” (equiv of Windows page file). You could conceivably re-size the 40GB down 1-2GB and use that freed space for the swap partition but there could be a problem with that depending on where the 40GB partition actually is; it’s possible that this cannot be done at all. The easiest thing to do would be to look at the real disk layout to see which is the last partition - it probably is one of your “Personal Data” volumes, and is probably a logical. Ideally, you would re-size that partition down and then add a new logical in that space. This can easily be done in Windows with a tool like PartitionMagic. It is more difficult to do with Windows itself; you might be able to “dismount” the volume (the command is “mountvol”) and then resize/add (don’t format the new logical). Or, you can ask the openSUSE installer to do the resize/add, but do not do that unless you have a backup of that partition.
If this is a bit overwhelming (and if this is new territory for you, it certainly can be), just do the fdisk -l and post the output back here and someone will recommend exactly how to handle it in the installation. But you will eventually need to understand partitioning basics such as above; this is one of those areas where MS’s design to “keep it simple” results in users getting in trouble frequently.