CKEditor Link a content with rule as a hypelink with title and url to a custom field I would like to add a hyperlink entry in a blog which points to a internal content URL with different content type which needs to be display for authenticated users.

1.) The hyperlink should show the title of the content

2.) The hyperlink URL should be mapped to a custom field 

3.) The hyperlink should not be visible to a chosen user and should be customizable

Is this possible in drupal ckeditor? or should we write PHP for it using PHP filter?
You don't want to use PHP Filter. That's for embedding PHP code into a Drupal content field and is not what you want (unless you're willing to give your content creators access to PHP code that could potentially break the site).

You want to implement 2 things to provide your custom functionality in a Drupal module:


Provide a custom plugin to CKEditor: You'll need to build your own CKEditor plugin which will do the work of building your custom markup (e.g. internal URL, title, mapped field, uid, etc.) to embed into CKEditor, You'll need a custom module to define it via hook_ckeditor_plugin() in D7 (or a CKEditor plugin in D8), then enable it in the Drupal CKEditor module settings.
Provide a custom input filter: After your CKEditor button provides the markup for your custom link, you'll need a custom input filter so you can process the CKEditor markup for display that depends on your requirements. This can be defined in D7 with hook_filter_info() (or a filter plugin in D8). Once this input filter is enabled for your text format, it should be able to post process the information (e.g. internal URL, title, mapped field, uid, etc.) that CKEditor plugin embedded in its markup so you can render it accordingly.