What Smart Cards and Readers work with Windows? 

For Smart Cards,

Check out Certificate Life Cycle Manager (CLM) Product website which has a partner listing - http://www.microsoft.com/technet/clm/default.mspx .  This is just a starting list of companies that have Smart Cards that work with Windows.  There are other companies (they should their advertising) which have Smart Card mini drivers written.  Infact most major Smart Card vendors have a Card Mini Driver written.  Note that Windows is Smart Card Operating system agnostic - that means is that it does not matter if the card OS is Java Card, .NET, MultOS, any proprietary OS - as long as there is a corresponding mini-driver installed on the system, it will work

Regarding Smart Card Readers,

Any USB 2.0 compliant Smart Card Reader will automatically work on Windows Vista.  This default driver is built in-box.  Again, most major Smart Card Reader manufacturers have drivers that work well with Vista.  Check their website for drivers.