OK, let's start with a handily recent post on the Language Log about Latin plurals (the post is about "syllabus", but "virus/viruses/*viri/**virii" show up in the comments).
Well, if you want to get all prissy about the Latin, then it's incorrect to use the word to describe a single unit of the substance, in the way it's not correct to call a single water molecule "a water".
Actually (and ignoring the somewhat startling categorisation of computer virus as "substance"), not in the same way at all. You can't call a single molecule of water "a water" because "water" is a mass noun in English, and those don't (i) take indefinite articles, and (ii) don't pluralize nicely (inter alia). It's possible that this portion of your argument comes from here, which points out that in Latin, "virus" ("poison") was a mass noun. Of course, in English, "virus" is very clearly a count noun in English, since it can be (and overwhelmingly is) used with an indefinite article.
Id est, since a viral program is itself a cell in the viral infection of many computers, there's no term for it other than "viral program" and no term for several of them other than "viral programs".
You appear in the preceding to be claiming that the word "virus" doesn't exist in English (or perhaps simply that is has no referent) a claim some information security researchers (and doctors!) might take issue with (cue lambasting for the stranded preposition in 3...2..1).
That being said, this raises an interesting point about...something. Maybe the type/token distinction? When someone says "I wrote a virus", we take him (or her, I suppose) to be making a claim about an implementation of some specific algorithm in some specific language, but not to any particular token of it.
The "virus" would be some arbitrarily bounded subset of the population of said viral programs infecting machines, [...]
I don't understand the grounds on which you're making this claim.
[...] which could devolve to a single program infecting a single machine, but would still not be the correct term for that program or, indeed, for the viral infection being suffered by that machine. It could correctly refer to the running program and its data (which in most computers includes its instructions) and the progress of its states,
OK, so the "running program, and its data" counts pretty much as a "single token of the substance" at hand, in my book. So now it sounds like you're contradicting your opening claim.
but I'm pretty sure nobody much thinks of it that clearly when using the word "virus".
As I just mentioned, you seem to be contradicting yourself (although I may just be misreading you), so you'll forgive if I take claims of clear thinking only quasi-seriously.
Nor is it correct to use "a virus" to refer to a type of virus (exempli gratia Stuxnet, Sasser, Hopper, et cetera) [...]
Why is this 'incorrect'? "I wrote a virus. I'm calling it Johnny5." Seems like a perfectly good use of "a virus" to me.
[...] but only to an instance of that type of virus as it is spreading, [...]
Again, isn't this in contradiction to how you started this comment?
or, again, some arbitrary subset thereof, wherein it has its physical expression and aggregate, fluid form.
Aside from the impossibility of "some arbitrary subset" of an instance (I'll assume that was just a typo/thinko), now you're just engaged in verbal wankery. I mean, I suppose you might choose to model the spread of contagion in a network of computers as the flow of a kind of fluid, but it's not clear if that's what you mean. And a population of tokens of a virus has no relevant physical expression (pace Wheeler & friends)...it's just a bunch of electrons.
As for whether it annoys you for people to use a latinate word that is both convenient and apt despite its not being precisely Latin, well, tough titty, [...]
Here, remarkably, I agree with you. "Viri" is a perfectly legitimate neologised plural, especially in the sociolinguistic context of places like Slashdot (although I confess that "virii", by some awful analogy with "radius~radii" hurts my eyes a wee bit). People can say whatever they want (but not without expecting to sometimes ruffle feathers), and use whatever linguistic constructs suit them best.
[...] because apparently the Latin version of it is a mispronunciation of the Proto-Indo-European word for the same gooey mess, [...]
I don't know what you mean by "the same gooey mess". The reconstructed PIE root "*weis-" (attn: the *-operator is being overloaded here) apparently means "to melt away" or "to flow". Also, to characterise it as a "mispronunciation" reflects a lack of understanding of how sound change works, and ignores the fact that Vulgar Latin was spoken millennia after PIE. Simply put there was no PIE to be "mispronounced" when there were Latin speakers.
[...] so insisting on going only as far back as Latin for the value of correctness of form is false cognitive closure, and that gives everyone else cause to be annoyed at you.
I get the point you're making, but I'm not sure it holds. The English word "virus" does come to us ultimately from PIE, but it does so via Latin where it was also "virus", and so it's not entirely arbitrary to stop there in search of a "correct" pluralisation (although the answer we get from Latin is ultimately unhelpful with respect to modern English). In particular, it's unclear whether earlier written forms exist, and earlier forms were in all likelihood different from the Latin (and, probably from the PIE, as well).
Anyway...that was a massive waste of time, during which I should have been coding. Damn you.