Specialized unconstrained array type wherein first index MUST be ZERO?

A Dynamic_Predicate should do the trick:

type Some_Array is array (Natural range <>) of Integer with
    Dynamic_Predicate => Some_Array'First = 0;

You can also add a precondition to the function. However there will a few cases where the compiler won’t catch violations at compile time.

That sounds a lot like premature optimisation. Trust the optimiser to optimise array access.

2** is not needed. Ada can provide modulus types with any range. I use unconventional modulus types in my PI Ada Tutorial. The compiler takes care of it.

Also subtype conversion slides:

S: String (15..19);
subtype Str_1_5 is String (1 .. 5);
  ... Str_1_5 (S) ...

Str_1_5 (S) has the new bounds. There is no copy.
Ada 2022 allows renaming the subtype conversion (a view conversion)

T: String renames Str_1_5 (S);