Wherever I looked, I found that Multicall is used for constant function call in order to minimize the number of calls towards nodes, but I was wondering if it can be also used for non-constant methods, eg. in order to call multiple state-changing methods.
I don't really see any issue with using Multicall for this purpose also, but maybe there are some possible issues that I haven't thought of.
I'm I missing something or its totally fine to use it for non-constant functions also?
Assume you mean our Multicall contract shown below, you can definitely use it for non-view functions. As you can see, the multicall function is not view so it will work, and there are no security concerns to consider.