Using if/else syntax for assign statements
Sure you can, just use the always @(*) construct (you need to make it a reg). You can handle inout ports easily too.

reg res;
assign inout_port = dir_out? res: 1'bz;
always @(*) begin
    if (x == 42 &amp;&amp; y != z)
        res = 10;
    else
        res = y * 12;
end