The answer to your question
- "Get the local path of the InfoPath 2010 filler form in code behind- from where user is opened the form"
is impossible, to the best of my knowledge.
It (this.Uri) cannot be relied upon in determining original location from where a file was opened.
If you save .XML file of Infopath form into another folder (and/or under another name), you should see through this.Uri
the last saved (not opened) location