How do I allow editors to select a template with CkEditor?
I suggest you have a closer look at the widget API / the widget plugin for CKEditor. The widget API enables you to have something like 'templates' meaning predefined groups of elements inside the editor window.

&quot;Widgets are special rich content units in that they are groups of elements which are treated as a single entity inside the editor.&quot;

http://docs.ckeditor.com/#!/guide/dev_widgets
At the end of that page there are links to further info about the Widget SDK and a step-by-step tutorial for creating your own widget ('mini-template').
I use the widgets plugin myself together with the SCALD module family and I must say I am still quite excited how very well these two play together.
If you 'just' want to add content templates however, you should probably download and install the Content Templates plugin for CKEditor.
From the download dialog window:

Extract the downloaded plugin .zip into the plugins folder of your CKEditor installation. Example:
http://example.com/ckeditor/plugins/templates
Enable the plugin by using the extraPlugins configuration setting. Example:
config.extraPlugins = 'templates';
Download and configure all its dependencies, too.
Add-on Dependencies: Dialog

The configuration setting can be found/added in config.js inside the ckeditor directory.