You can specify a custom sql statement for loading objects:
http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/querysql.html#querysql-load
There you can use the view. Insert, update and delete will operate on the local table. You can also use custom sql for these operatons:
http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/querysql.html#querysql-cud
If you want a create local entry for each loaded remote user, you have to do a little work. Add a property to your class which indicates the origin of the record. After loading check the property and do a session.SaveCopy if the origin is remote or set the "identity" property to "unsaved-value". Then flush the session and you should have the entries in the local table.