While evaluating the variable and then substituting it might help the creation of one, your PushTopics are ultimately going to proliferate (and you must hoover them up as your users change).
Why not use Streaming API filtered subscriptions? You can insert a PushTopic like:
insert new PushTopic(
Name = 'Doers',
Query = 'SELECT Id, Doer__c FROM Object1__c', //WHERE <snip>
ApiVersion = 29.0
);
Update:
basic filtering available in the form:
/topic/MyTopic?User__c=005A0000000gqi6IAA
Conditions can be combined by using an &
for example:
/topic/MyTopic?User__c=005A0000000gqi6IAA&Id={ID-18Char}
This translates into OR condition: User__c == 005A0000000gqi6IAA OR Id == {ID-18Char}
This is not nearly as robust as MVEL operations but can help reduce the number of received events
UserInfo.getUserId()
in a variable and then binding against the variable? Also, what context is this running in? A VF controller?