Start here: Ubuntu Wiki: WindowsDualBoot

Basically, if you're starting from scratch, you'll tell whichever OS you install first to not use the whole drive.

There are a number of bootloaders, from LILO to GRUB to GAG to Windows' own NTLDR. I'd just go with whatever the Linux install uses by default.

You will certainly be able to read files from the other OS. Writing might not be the best idea. Both ways, you'd be depending on utilities not as well vetted as the native ones and you could potentially end up corrupting a filesystem. The safest bet, if you need a filesystem both OSes have RW support for, is to create a small FAT partition. Or use a USB key. But you should have no problems reading the other OS's filesystems.
_________________________
Bitt Faulk