I'm aware that this a popular request for a contrib. I've put my effort up here:

http://www.omnicia.com/zencart/

While it's not finished, the system calculates Reward Points, displays them against products and in the shopping cart, and accumulates them for the customer once an order is successfully completed. Reward Points can be set for all items, by category or by product.

Still left to do is the admin interface for setting the Reward Points and to work out how to redeem the points. All suggestions welcome.