[eluser]Michael Wales[/eluser]
I also follow the plural controller singular model method and haven't run into an issue with words that are spelled the same in both instances.
Fish: If it was a shopping cart site it would be products/product. If it was an informational site it would be articles/article. Can't see any reason why I would specifically be talking about a fish in any of my applications.
Premises: Same thing, I'm not referring to premises, I am referring to listings/listing (for instance, a real estate sale site).
The only one I think has any merit is your species example, even then I don't see why I would ever have a model so strictly defined as Species. It would probably by animals/animal and species (as well as ,kingdom, phylum, class, order, family) would be properties of that class.
The fish example is a great one - because you have to think of your program as a developer. You the developer don't give a damn about fish - you only care about products, articles, whatever that data is representing.