Coming to your first problem,
You can only apply such a limit if you have a Linux server which routes all the traffic from your friends machine. If your friend is directly interfaced with the router (maybe through a switch) then you can't do that. If you route all the traffic through your box to the router then:
You need some kind of throughput control mechanism. As far as I know there are different ways to achieve this
1. Hierarchical Token Bucket (HTB)
http://library.linux360.ro/tutorials/bandwidth-limiting
2.. CBQ
http://www.linux.org/docs/ldp/howto/...imiting-HOWTO/
Regarding your second problem, you canuse konqueror to access the shared folders on your friends PC. If, for example, the IP of your friend's machine is 192.168.0.2, then you could access his shares by typing "smb:/192.168.0.2" without quotes in the konqueror address bar. Alternatively you can download a tool like LinNeighborhood which lets you browse remote shares without knowing IP address of the machine. I think konqueror can do that too if you type "smb:/" in the address bar then it should list all the hosts present in your workgroup. If you want to share your files (while using Linux) and let your friend access them then you need to setup SAMBA. Edit /etc/smb.conf or use a tool like swat.