My first thoughts would to try a live CD, pmagic, ubuntu, puppy etc then run fsck several times until no more issues are found.
Hopefully now you can mount the partition, try your ls command.
Can you see the files? what does fdisk -l say? how about df -h? perhaps try using the smartctl command if installed to check the disk state.
I have had similar issues and several fsck's and reboots eventually fixed it. There is always a risk however of losing data when the inodes get cleaned up, this has happened once in the past to me and trashed the disk data, so take any precautions you can, I don't see the harm in running a dd of the disk to another if you have one available.