Updating view content (in block) based on field data from page it's displayed on
To avoid the article you're on : 

Click on the "advanced" tab.
Click on add under "contextual filters".
Choose Content:nid.
Under "when the filter variable is not available, choose "provide default value".
From the drop down menu select "content id from url".
Scroll all the way down to the bottom of the window and click on the "More" link.
Click "Exclude"

https://www.drupal.org/node/131547

The second problem can be done by adding 2 Sort Criterias.   The first will be on 'field_related_articles'  - and then by date.  I find displaying the SQL output in admin really helps to see what is happening backend.