Yeah, that's fine if it's what you're after.
It won't affect performance if you're only passing the data that the
view needs (ie passing null in "unavailable" properties). If, on the other hand, you're filling all the properties of this object, even when the view
doesn't need it, then yeah, you'll be somewhat less performant.
The only problem I have with this approach (I've considered doing this myself) is that the view needs to understand that certain properties are unavailable. Someone coming along to the view later might think that they have access to the other properties and be hit by an unexpected NullReferenceException. If the view received a customised object which contained only the properties that the view *should* have access to, then this won't happen. It's also like communicating information/intention to the person designing the view.
For me, especially with long term projects, the ability to convey information like that is a huge plus.
But, like I said, if it works for you then there's nothing wrong with this approach.