Hi, not really good news for you...
You can't. You can block a computer / user from printing, but you cannot match user and computer. If you are familiar with MySql, it has this feature: user@pc1 > permit user@pc2 > deny. But this is MySql, windows cannot do this.
This depends on the printer / drivers, again, windows cannot manage this, it just provide the spooler.
Once again, windows cannot track this. There are printers with a built in report (usually are very expensive printer).
So, you can buy one printer like this one:
http://kmbs.konicaminolta.us/content/products/models/bizhubC550.html?info=Features
It has what you need. You can connect it to your AD and from there assign computer and user which will be able to print. It also provide a password to print and a limit. As said, it is VERY expensive!
If you want a 3rd part software, you can check this:
http://www.papercut.com/
or this:
http://www.czsolution.com/
The first one works fine, I never used it but I saw it running and it was really impressive.
The last one was implemented in my school, but I really don't know how does it work.
I hope this help.