No, you can't. You'll find that code doesn't compile -- the @Override annotation says that compareTo(Girl, int) must be declared in a superclass or interface, but it's not! Comparable<Girl> defines only compareTo(Girl).
Instead, you should use a Comparator<Girl> for each ordering. This is a class that provides its own compareTo that takes two girls. You can then create different comparators, and pass the appropriate one to the function that needs it. In other words, remove the order field from Girl, and instead implement the different orderings as different instances of a Comparator<Girl>.
Most classes or functions that take a T extends Comparable<T> also have versions that take a T and a Comparator<T>. One example of this is Collections.sort. Another is TreeSet, which can take a comparator at construction time.
If that seems annoying or pedantic, think about how you would use such a function. Let's say your function takes a T extends Comparable<T>. You try to compare two of these by calling item1.compareTo(item2), according to that Comparable interface. If your code compiled, that method wouldn't exist! Note that Java doesn't have default parameters, so there's no way to say "if they don't pass in the int order, assume it's 0."
orderattribute of the other object too.