魚などの魚介類は、生きている状態であれば「1匹、2匹…」といった数えられ方がされますが、一旦水揚げして市場に出荷されると、形や性質に応じて様々な単位で数えられるようになります。
例えば、サンマやイワシなどの細長い形をした魚類なら「1本、2本」、ヒラメやカレイなどの平面的な魚類であれば「1枚、2枚」といった様子。
そして、生きているときに他の魚類と同じように「匹」と数えられるイカやカニは、「1杯、2杯」と数えられます。
もともとは、イカやタコが軟体動物の貝類の一種であるとされ、「貝(ばい)」と数えられたという説もあるようですが、「杯」という漢字に由来を求める説の方が有力。
例えば優勝カップやトロフィー。これらの形は胴の部分が丸く、液体を注ぎ込むことができる甕形の容器が思い浮かぶ方が多いと思います。イカめしやイカ徳利があるように、イカの胴体も同様の形状をしていて、「杯」のイメージにまさにぴったり。
■魚介類は種類によって単位が変わるのはなぜ?
ではなぜ、魚介類はその種類によって数える単位が変わるのでしょうか?一説には、商人が早く記帳するためだったと考えられています。
江戸時代は漁師が獲った魚は商人が買い取り、「俸手振り」という売り子に託して町の人に売って回ってもらっていました。
商人は売り子に渡す魚の種類を帳簿に記録していきますが、毎回「サンマ1匹、イカ1匹、ヒラメ5匹…」などと記入していくのは大変でした。そこで魚の種類によって数える単位を変えて、「1本、1杯、5枚…」と数だけを書くことで早く記帳できるようにしたそうです。

このほかにも、調理によって数え方が変わったり、大きい魚の場合は、解体する大きさによってまた数え方が違ったりもするそうです。
参考
飯田 朝子 著, 町田 健 監修『数え方の辞典』(2004 小学館)
日本の文化と「今」をつなぐ - Japaaan