This doesn't remove the article, but it marks it as read, sorta. It doesn't apparently update the UI if that subscription is currently open in the UI, and the like.
Modify to suit taste. I think this only works in the pay version of NNW.
use Mac::Glue ':all';
my $nnw = new Mac::Glue 'NetNewsWire';
my $headlines = $nnw->obj(
headlines => whose(creator => equals => 'JonKatz'),
subscription => whose(display_name => contains => 'Slashdot')
);
print $headlines->prop('isread')->set(to => 1);