But my question is whether the BAPI_GOODSMVT_CREATE will itself return a error message if the material is not available in the BAPIRETURN. Then I could avoid the BAPI call for material availability which is an expensive one.
No, it will not return an error message. It only returns if you have no stock, but it ignores the fact that the stock is allocated.