How to have a displacement modifier vary it's shape within an array
Displacement Modifier:

Edit:

As @Duarte Farrajota Ramos pointed out - for Array Modifier it's sufficient to just have Displace under Array without changing Texture Coordinates. Change is needed only for manually duplicated meshes.

This one is very simple (taken that you are using Texture Type other than Image Texture). 

Just select Texture Coordinates as Global in Displace Modifier.


  Note: I've forgot to add Array Modifier in this example, remember to
  add Displace Modifier AFTER Array Modifier.


For this example I've used Texture Type > Distorted Noise.



Micropolygon Displacement (experimental):

You can read how to use it here: https://wiki.blender.org/index.php/User:Maiself/Micropolygon_Displacement or just search for tutorials on the internet, there are a lot of them.