I would like to know both Cisco 2901 or 2921 router and Cisco 5505 ASA can build site to site VPN.
1) what is the different to build site to site VPN between router and firewall ?
2) which is the best choice if using in site to site VPN connection ?
With that amount of sites connected to both internet and some to MPLS you should choose a solution that gives you a good configuration- and routing-scalibility. Both is better on IOS then on the ASA. I would go directly to FlexVPN which is the most up-to-date technology in IOS and gives you many features like good scalability, integration of routing and (if you want) spoke-to-spoke connectivity without much extra config. The routers need quite new images, I would start with 15.2.4M3.
For the IPSec-scalability you should plan to use certificates, a CA-server is included in IOS:
Don't stop after you've improved your network! Improve the world by lending money to the working poor: