Are there any unforseen down sides to using views to abstract away from cryptic table names? We have to report against a very large and complex vendors HR/Payroll database which has cryptic table names such as A100M, C755V, X50AA etc.

In order to make writing queries more human friendly, I have suggested we create views with meaningful and descriptive names to abstract away from the cryptic table names using very simple views such as:

CREATE VIEW Employees
AS
SELECT
   *
FROM dbo.Y654AS


So I can then simply write a query such as:

SELECT
    EmployeeId
    ,Forename
    ,Surname
FROM dbo.Employees


Other than the vendor changing the table names in an update (which is very unlikely), are there any gotchas with doing this which I may have missed?
For the use you describe, using synonyms for the tables should be a better solution.  A synonym is basically an alias for an object name, so you wouldn't need to define a SELECT statement as is required for a view.  Basically the only way a synonym can break is if the table is dropped.