How can define a function that accepts colon `a:b` inputs for integer ranges

No, not directly at least using the standard language facilities. See this comment at another thread. As Fortranners seek further abstraction in their codes, having such a flexibility will be useful and it will be good if a future Generics capability builds on it but that is all is quite a while away.

In the mean time, if you share what you’re trying to achieve, readers may be able to suggest other possible workarounds.