Yes. It can be used anywhere you can run a script. You could add it to the project library or re-write it directly into an action script.
You don't necessarily need the function to wrap it, but as you learn Ignition you will find you should be organizing you scripts for re-use where needed. Its not obvious early on, but spending time thinking about the structure of your code/scripts etc. goes a long way to keep things sane as your project grow.
Correct, scripting uses jython, so you can use java functions in addition to jython functions. To me it comes down to what your comfortable with, but sometimes you need to evaluate performance as well. Sometimes the Java might be harder to write, but gives you more control and better performance. Sometimes it comes down to skill/comfort level. I just know python better and others know java better. You'll see both approaches debated all over the forums I've learned a lot of java stuff from @pturmel over the years for sure!