jQuery Fieldselection:
https://github.com/localhost/jquery-fieldselection
See:
https://github.com/localhost/jquery-fieldselection/blob/master/jquery-fieldselection.js
Implements: getSelection, replaceSelection
Does not implement: currentSelection
Rangy:
Implements: getSelection, ReplaceSelection, CurrentSelection
(note: not a jquery plugin, but widely applicable still)
A cross-browser JavaScript range and selection library. It provides a simple standards-based API for performing common DOM Range and Selection tasks in all major browsers, abstracting away the wildly different implementations of this functionality between Internet Explorer and DOM-compliant browsers.
Seems to implement what you want, for demo's see:
http://rangy.googlecode.com/svn/trunk/demos/core.html
http://code.google.com/p/rangy/
See also: Jquery: selectionStart for non textarea elements
Rangyinputs
A jquery plugin that offers similar functionality as Rangy, except for inputs instead of arbitrairy DOM elements.
A small cross-browser JavaScript library for obtaining and manipulating selections within and HTML elements.
Demo: http://rangyinputs.googlecode.com/svn/trunk/demos/textinputs_jquery.html
Project: http://code.google.com/p/rangyinputs/