how to link a menu item to a block?
You can use the Void Menu module to achieve this. 


  Void menu allows you to configure special values to tags for use in the Drupal 7 menu system. You can customize up to 10 different void tags with any value you wish and use them freely inside the Drupal menu system.


For example, to link to a block with an id of #about, go to the Void Menu configuration page (admin/config/user-interface/void_menu), and set one of the "tags" to your block id (including the #). 



Then set your menu link path to the tag name. 



For smooth scrolling you can use the Scroll to destination anchors module.


  This module modifies the default behavior of destination anchor links...so that users will be smoothly scrolled to the destination instead of immediately being jumped.


You will need jQuery to use the Scroll to destination anchors module.