If you use index 8191 in a map then if the user saves and then loads using the inbuilt feature (often used in single player) the value stored in index 8191 is lost and some possibly different value will be there instead.
As I already said, there is little to no reason to design around using such large arrays for most purposes. Unless you plan to use a lot of advanced data structures that you know will reach large sizes you should never use index 8191 or even index 1000 for that mater.
If you are using an instance based system where by you define an index in a set of arrays as corresponding to an instance (occurrence) of some virtual object you should use some form of index recycling system to re-use indices that have been freed (discarded, not needed etc). Most common is a linked list, often composed from integer members of the array set for efficiency. Unless you instantiate (allocate, create etc) thousands of such instances, your array will stay within a bounded size viewable as a sort of active set based on the worst case instance number. For common instances like custom abilities this should usually not exceed the minimum size of JASS arrays (16 or something tiny).
If you do plan to use thousands of such instances than you can link arrays together with conditional statements to give a functional unit array of a larger size with a performance of logn when n is the number of 8192 sized arrays used. You could also use hashtables which provide an arbitrary mapping of 2 integers to a value to handle overflow but be aware hashtables do suffer from O(n) degradation when heavily populated (many thousand elements).