I think that your best approach is the reverse order of your questions. No matter which strategy you use, you should first get the data onto a safe place, so if anything fails, you will have the data.
The best way to get the data is probably to use a live CD or live USB "setup disk"; the normal install disk for any version would work, as would any alternate Linux disk. If you were using NTFS or FAT for Linux, Windows could do it directly, but Windows doesn't read the Linux format.
But using a Linux disk, you can access both the Windows partition, and the Linux partition, and should be able to copy the files from one to the other in whatever method is most comfortable to you - either using a GUI filemanager or a terminal command line. If you use a GUI, you probably should show hidden files so you don't miss anything.
Once you have a backup of your files, you can probably reinstall without formatting to recover your system, although there would probably be a lot of updates required to get back up to date. I've never had to do this, so I'm not sure how it will work. Perhaps someone will chime in with specific experience.
I just tried using a 12.04 live CD on one of my computers, and I found that indeed, the files in my home directory were locked to me as a normal user (username "ubuntu"). The files are owned by user 1000, but user ubuntu is 999. So I can see two alternatives.
A. I think this is the best way. Open a terminal and enter these commands:
sudo adduser tempuser --uid 1000
This creates a new user with an id of 1000, which is the default for Ubuntu. You may not need a password, but I used "1" in my test. Just press enter for all the other questions to pick the defaults.
You are now logged in as tempuser, with a user ID of 1000, and now have access to the files in your old home directory. To "log out" of the temp account, enter "exit" at the commandline.
B. Use root access to copy the files. You can use a commandline, and use either "sudo" with each command (no password needed), or enter
sudo su to become root, and then enter commands without sudo.