Agregue las subclases finales al manifiesto como actividades/servicios regulares; las clases abstractas no necesitan estar allí, ya que el manifiesto es solo una búsqueda para que el sistema sepa qué clase lanzar en respuesta a un Intento
Si por 'paquete' se refiere al paquete Java (ej. com.mycompany. lo que sea), entonces no, solo agregue la importación relevante (o use el nombre completo) al crear la subclase.
Si con 'paquete' te refieres a APK, entonces sí, la base abstracta debe estar ahí con el código normal, ya que aunque es posible llamar entre APK, esto depende de las clases que puedes instanciar. Puede dividir las clases abstractas en un proyecto de biblioteca de Android, si se van a volver a utilizar: los proyectos de biblioteca de Android son esencialmente fuente compartida, en lugar de los tradicionales tarros de Java.
Avíseme si necesita más detalles sobre esto, ya que esta es una pregunta bastante amplia, y me gustaría mantener el tamaño de la respuesta manejable