for Q1
this would take a long time/ coding to empliment in the forum.
for Q2
create a database that stores ID and hits collumns and set it up so when someone clicks the link to download a file it goes to a page and adds one to the value in the database hits field.
Giving you a total download count (dont link direct to the file go to a page with an ID and depending on the ID use the certain URL (download file).
add use the onload command to link to the file or you can use a binary read to make sure no one goes direct to the link though the address bar.
hope that helps .. i am eventually going to make a application for download (when i get to it)