Is it possible to compose a DateTime object from a string?
In Twig, the date_modify filter returns a DateTime object. Also, date is not just a filter, but also a function. The date function accepts any a DateTime object or a string in a supported format, and returns a DateTime object. Example:

{{ date("+2 years") }}


This should give you a DateTime object set for 2 years from when it's triggered.

Why is localeTime missing?

The now variable is not a regular DateTime object from PHP. It's actually an extended class ( \Craft\DateTime ). So it won't have all the convenience functions you get from now or a date field from an entry. Instead you would need to do it manually (I'm not sure if you can overwrite a function or filter in Twig). Fortunately, the locale's format string is available as a variable.

{% set myDatetimeString = '2014-06-24 23:40' %}
{% set format = craft.i18n.getTimepickerJsFormat() %}
{{ myDatetimeString|date(format) }}


You can even shorten it like this:

{% set myDatetimeString = '2014-06-24 23:40' %}
{{ myDatetimeString|date(craft.i18n.getTimepickerJsFormat()) }}


To replicate localeDate, use this:

{% set myDatetimeString = '2014-06-24 23:40' %}
{{ myDatetimeString|date(craft.i18n.getDatepickerJsFormat()) }}