i've tended to use oracle-like names for views that have been quite useful. i use a few variations on this but datatype, length and columnorder are useful when it comes to reproducing the formats of adhoc queries
/****** Object: View dbo.all_columns Script Date: 12/11/2001 3:47:11 PM ******/
CREATE view ColumnDesc as
select syscolumns.name columnname,sysobjects.name tablename,sysobjects.id tableid,
systypes.name datatype, syscolumns.length length,syscolumns.colorder columnorder,syscolumns.isnullable isnullable, syscolumns.autoval autoval
,sysproperties.[value] [Description]
from sysobjects,syscolumns,systypes,sysproperties
where sysobjects.xtype='U'
and sysobjects.id=syscolumns.id
and sysobjects.id=sysproperties.id
and syscolumns.id=sysproperties.id
and syscolumns.xtype=systypes.xtype
and sysproperties.type=4
and sysproperties.smallid=syscolumns.colid