As I understand it, integers are synthesizeable but cannot be used to define the inputs and outputs of modules. Only wire, reg and inout, or "logic" in the case of System Verilog, can be used for the port definitions.
I just tried defining a port as an integer and it did not work for Synplify Pro.
However, if it works for you, I'd be interested to know what synthesis tool you are using.