C-shaped blocks: You can!
But you don't declare this in the opening make-a-block dialog. It's when you're adding inputs that you can declare an input to be a C-shaped slot.
Hat blocks: You can! We have an equivalent feature, the "generic WHEN block":
You can put any Boolean expression in the hexagonal input slot. But as of Snap! 10.3 we also have custom hat blocks as an equivalent notation. That is, instead of
you can make a block
and then you can make scripts
The custom hat block, like any other custom block, can also have inputs.
Note that the hat block "fires" once when the condition becomes true, not like a FOREVER IF that keeps firing as long as it remains true.