If I understand correctly, this started when you suspected virus damage particularly to the MBR record on the larger (640 GB) HDD. You got a 320 GB HDD and installed Win 7 on it. Now your machine can boot from that smaller drive and use it, but you still cannot read any data from the 640 GB unit. Right so far?
I suggest your next step would be to try testing the 640 GB unit for defects. It is possible it has hardware or software flaws that are causing your problems. Some of the diagnostic suites even have tools that can help fix a few of these. However, you will need to be careful with them. Most have several testing tools that do NO damage or changes to your HDD and are thus safe, but also have other tools that WILL destroy your old data. The diagnostic suites normally will warn you clearly if you try to use anything that harms data so you do NOT use them.
The best tools like this are free from the maker of your 640 GB HDD. If it is from Seagate, go to their website and download their Seatools. If it is from WD, get their Data Lifeguard suite. In each case you have a choice - you can download a Windows application that you install and run, and this can work for you since you have a machine that DOES boot into Win 7. OR, you can download a "for DOS" version that you can boot and run from even if NO disk on your machine can boot it up. The "for DOS" version actually is an .iso file, which is an image of a complete bootable CD. You download that file, then must use CD burning software like Nero that knows how to burn an .iso file to a CD. You burn your own CD. Then you shut down and disconnect other HDD's so that only the faulty one is connected (so you can't make a mistake and use another), place the new diagnostic CD in your optical drive, and set your machine to boot from that CD. It will load a mini-DOS into RAM and present you with a menu of tools. First you select which HDD you want to test (IF you're using the Windows app under Win 7, make VERY SURE you chose the right unit!) and it will tell you basic info about that drive. The first two tests to run are the Short Test and Long Test. Each will tell you about any errors it finds. Write down a few notes about that for reference. Now you have some clues about what may be wrong and maybe what tools to use to try to fix it. If you don't know how to proceed but have error info, you can contact the HDD maker's Tech Support people for guidance. If you choose a "fixer" tool, make SURE you watch for any warning that this particular tool will destroy data - if you get that warning, do NOT let the tool run!
Personally, I prefer the "for DOS" version because it can be used even if you have NO bootable HDD in your machine. But your choice.
If there is no easy way to fix the problem, you may have to go a different route. That is, Data Recovery. There are several third-party tools for this - some free, some not. In general they all work by NOT writing any "fix" to the faulty drive, to avoid any possibility of damaging data. Instead they will try to read your data even though the normal on-disk files for accessing it are corrupted. Whatever they can read you can COPY to another HDD. So, to do this, you need a second HDD that has enough empty space on it to accept all that data. It can be time-consuming, but such tools often can recover most or all of your data. AFTER that is done, if the HDD appears to be OK except for data corruption, you can wipe it clean (this is where it's OK to use the data-destructive tools from the Diagnostic utilities) and then re-Initialize it for use as a storage drive.