Very interesting -- so I would be subclassing DataObject instead? This would assume that we would not want to ever tweak an article's content in our CMS -- that's a business decision I'll have to run by some folks. But I like the sound of it.
Yes of course, a number of things you have to consider in this situation and without knowing all the requirements of the project I can't say which will be better, that'll be something to weigh up!
Is there a way to inherit any customizations I've done in other extended classes? For example, I've put a lot of stuff in a base item class that underlies all page types...
Are these tied to the SiteTree model records or to the controller class? Often things are tied to the controller so you can keep your NewsItemController extending the page controller you have already, all you're doing is passing in a Dataobject rather than a Sitetree model.
If you need shared functionality between model types, you can look at things like Decorator classes to apply to both your models.
Would the items' properties be usable in SS templates the same way?
Yes I believe most of the functionality in the templates comes from the ContentController (things like Menu() etc).