Use Teamviewer.
You can access another persons' computer (after his permission), use his keyboard and mouse, and transfer files.
It's available for Windows, Mac and Linux, and it's free for personal use.
When you have to transfer big files I recommend setting up an account with a file transfer service. You may find that more reliable then using the direct transfer through Teamviewer, because you can do repeated attempts, you can do it while not connected to your friends computer, etc.
When you have to transfer reeeaaaally big files set up an FTP server as Franck said.
Note: this does not answer how you can directly access his drive, like you have a program running on your PC that needs to directly access files on his. I don't know enough about that.