You can add smudges and fingerprints to glass by varying the Roughness with the following material :

Most of the above material is concerned with positioning the fingerprints on the bottle (ie, the upper branch from the Texture Coordinate node through to the first Multiply maths node). This takes the fingerprints image :

and positions it onto the glass by way of using the Object coordinates of an Image Empty - moving and rotating the Image Empty will control the location of the fingerprints within the following scene :

The Value node controls the 'strength' of the fingerprints and the Is Glossy Ray of the Light Path is used to prevent the fingerprint from producing glossy reflections from any light sources. This is fine tuned using a Power node (you could just as easily use a Color Ramp to allow manual adjustment) and fed into the Roughness.
This will result in anything viewed through the surface smear/fingerprint becoming distorted.
This can produce the following results (note the fingerprints and smudges on the closest bottle) :

Blend file attached. 
EDIT : The above example is using a simple Glass shader for the glass and as it stands this will cast shadows. This is why the interior of your building is considerably darker in your example. In my example this wasn't too much of a problem but in your example the windows are effectively blocking the light from entering the interior space. You should mix in a Transparent shader based on the Is Shadow Ray light path property so as to make the glass transparent when determining shadows.

Your original material included this mix but the new one does not. Hopefully this will resolve your problem.