Can an entire sub-allocation be assigned?

No, as the range is the primary key, you can't have two inetnums in the database with the same range

A reasonable assumption that LIRs might make is that if they sub-allocate a /24, they can (eventually) assign the same /24. However, since the sub-allocation and the assignment objects would have the same range, LIRs or downstream providers can only assign (sub-allocated range -1) as the largest possible assignment in the sub-allocation.