Both serves different purpose Both serves different purpose where IMSI is used to identify a subscriber by operator at the same time MSISDN is used to route the call. In short MSISDN is the number which is used for dialing
Ref: http://tech.queryhome.com/5683/imsi-vs-msisdn?show=5726#a5726
Now coming to your query, if we use IMSI as a subscriber identity then services likes MNP, IN would become impossible of we need to device the mechanism which will be similar to MSISDN only. I would suggest to go through the link above and a lot of doubt would get cleared.