Yes, and you have the same semantics as in the MCUs. Typically if you want the pin to be bidirectional,you would do something like
assign io_pin = oe_w ? value : 1'bz;
The pin is always available as an input, you are just enabling or disabling the output driver and setting the driven level.
Also, some FPGA tools do require separate explicit control for the direction. Efinix is one example for this.