pic24 UART receive data is invalid
the data transmityted through host and received by pic doesnt match


Check to make sure if both the baud rates for Transmitter and receiver are the same.


  Also i observed a strange issue: when i transmit for ist time the data is not fully received, only 2 bytes of data is received, where in when i transmit 2nd time i get a OVER run error.


As the type of error indicates. Your Buffer is overflowing. Which means your not reading out of the buffer faster than new data arrives.Check the receiver buffer size and use hardware or software flow control appropriately.
Looking at your ISR,reduce the number of operations performed in ISR to avoid overflow and it must surely work. Do all processing checks in main().