I do not think that's possible. You have to think about what you are doing and why it will not work. Either you will have an index that supports prefix search, or something that supports natural range search. You do not have a btree index that supports both.
Consider something like:
SELECT * FROM foo WHERE bar like '10%' ORDER BY bar USING
Your problem is that your two indexes will not have an order that matches. The index for use with LIKE will go 101, 101000, 101001, etc., while the index for your order will go 10, 11, 12, 13 ... 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, ...
Since your order requires a different search order, there is no way to use the same index for both. At some point, if PostgreSQL allows searching for indexes of the physical order, this may become possible, but as long as the indexes are a logical order, I don't think it might work.
Chris travers
source share