You can't "just" allow traffic on port 21 without a service object for port 21. You can create a new TCP service object, give it port 21, do as EmmaP said, and don't assign the protocol type. You can use this custom service in the rule which the firewall will treat with no further deep packet inspection.
The "match for Any" checkbox is a complex process:
1. For any rules whose Service column is "Any",
2. Find all service objects whose checkboxes are "match for Any",
3. If the port number in the packet matches that object's port number,
4. Apply the deep packet inspection protocol handler.
This means if you have a rule where Service column is "Any", and try something "clever" like "SSH over TCP port 80", the firewall will know this is not an HTTP protocol in the packet payload, so the packet will be blocked. Similar will apply if you have Service column "http".
So "Any" does not strictly mean "Any".