Buenas, 
 
Para eso BigInteger tiene el método compareTo: 
http://www.tutorialspoint.com/java/m..._compareto.htm 
Yo te recomendaria revisar y simplificar el algorimo. Resulta mas claro si haces dos bucles, uno para calcular el factorial (un for con 2 lineas de código) y luego otro para sumar las cifras del resultado (otro for con 3 lineas de código).  
Yo lo he hecho así y usando BigInteger y el código es mucho más compacto y comprensible. Mi resultado para 100 es:   
Código Salida Programa:
Ver original- Factorial:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 
- Suma: 648 
No te voy a poner mi código ya que por lo que has dicho quieres intentarlo tu mismo, pero si no te sale a lo mejor te puede servir para que puedas refactorizar el tuyo. 
Un saludo