There is some confusion here. I am almost certain the intent is to block access to a http server running on port 80 from a telnet client. Telnet can connect to any server that utilizes TCP on any port by simply specifying the desired port after the address. This can be quite useful for troubleshooting, as you can see the raw reply (or lack of connection) without the interpretation of the typical client.
The short answer is no, it is not possible to DIRECTLY block this type of connection. It is possible to block some types of traffic based upon the IP protocol being used. A common example is to block ping requests by refusing ICMP traffic. In this case, ICMP is the protocol used over IP. The IP header has a flag that indicates the traffic is ICMP and the type of ICMP request. Either or both of these can be examined by a firewall to determine what action should be taken, so it is a very simply matter to drop or refuse all ICMP traffic or just ping requests.
Telnet and HTTP both use TCP protocol over IP (as well as many other services). There is nothing in a telnet header that distinguishes it from a HTTP header or any other TCP traffic. You must either allow TCP traffic to a port or deny it. With this in mind, if you want to allow HTTP traffic on port 80, you must accept all TCP connections on that port.
Once the connection is made, there are some things in the actual data that would indicate that the connection is coming from a telnet client instead of a http client. Most notably, the initial data from a telnet client will be sent one character per packet, maybe two if you type really fast. In contrast, a traditional http client will sent complete http request in one or two packets starting with the third packet of the connection.
It would be fairly simple to detect the small packets with some firewalls and kill the connection. This is not really blocking the connection, as you would have to allow the initial connection to get at the subsequent data, but it would have the effect of disallowing connections from a telnet client. Another method would be to filter the first few packets and kill connections that do not have some of the key elements of a proper http request.
A better method would be to configure the http server to refuse connections from clients that do not provide a proper http header. It certainly is possible to send a reasonable header from telnet, but it would involve a bit of very accurate typing. Cumbersome at the very least. In this case, as with the other method the TCP connection is technically allowed, but nothing in the way of meaningful data is passed.
I don't really see much point in blocking this type of traffic. Telnet to a non-telnet server can be a useful diagnostic tool, not much use for anything else as the connection is closed after each exchange.