Hi,
1. Yes you can grant select to tables and deny to views in the same schema. The way I would do it is to add the user to the db_datareader role and then create a new custom role, deny SELECT to the views and add the user to it.
2. Yes you can deny SELECT to a whole schema. Why would you want to deny access to any schema? What would the point be in adding the user to the database?
3. The user is a member of the public group which would grant them access to the INFORMATION_SCHEMA schema.