Is 2nd level cache in our case even recommended? (i.e. is it worth the effort to gain a sizable performance boost or not?)
There are too many variables and unknowns about the application and usage patterns for someone not in your team to give an applicable answer. Try it, measure it and then decide.
You need a cache that supports clustering, otherwise changes made by a user on server1 will not be visible to a user on server2, leading to much confusion.