ой как-то я не прочитал ваш комментарий во всех деталях, но тем не менее, вот рабочий
игрушечный раствор; -)
<project name="project" default="main">
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
<property name="a" value="abc$" />
<property name="b" value="xyz" />
<path id="paths">
<pathelement location="abc$/def" />
<pathelement location="abc$/ghi" />
</path>
<target name="main">
<pathconvert property="list" refid="paths" pathsep="${line.separator}" dirsep="/" />
<propertyregex property="a" input="${a}" override="true" regexp="\$" replace="" />
<propertyregex property="list" input="${list}" override="true" regexp="\$" replace="" />
<propertyregex property="list" input="${list}" override="true" regexp="${a}" replace="${b}" />
<echo>${list}</echo>
</target>
</project>
результат:
main:
[echo] /foobar/AntScripts/xyz/def
[echo] /foobar/AntScripts/xyz/ghi
BUILD SUCCESSFUL
IMO, использование свойств с символом $ вызывает проблемы, разве нет другого пути?!