Sitecore now provides us with this very useful ways of searching for items which are organized within item buckets.
We ran into a requirement where we didn’t want multiple tabs to open as and when one clicked on a search result, and we wanted the search result item to open in the main content tree instead.
This would enable the content authors to locate items in the item tree and create subitems / manipulate them. Even though the bucket search results page does allow creation of subitems (provided insert options are set), this provides a simpler means of browsing through subitems in a more effective manner.

To be able to achieve this, we need a config update and corresponding code update.

Consider the situation of a field in sitecore meant to allow selecting a state, and the data items in sitecore are organized by country.

In this situation, it is most convenient for the content author to be able to navigate through the items in a static tree structure (yes static – the drop tree makes it a little easy to just escape out and lose where you were at navigating!).

Which is why, we came up with the need for a treelist – which allows single item selection.

This can be achieved in 2 ways:

Add validation on the existing TreeList control:
This can be done using the validation field on the sitecore field in question. The following regular expression should help achieve this:

^$|^{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\}$

Here’s how the validation message shows up – to note here – this validation message comes up only on item save, as opposed to while adding the multiple items in the field.

Create a new control and add validation / transform view:

If you did have additional requirements – say sorting the items in the treelist a certain custom way in addition to restricting the number of selections to 1, you could go all out and create a new control, inheriting from the existing treelist control.
I went in and grabbed the existing code of the treelist using a reflector, and updated the code as was needed.
Below are the updates that were made (the remaining code of Sitecore.Shell.Applications.ContentEditor.TreeList were left in as is)