I don't know either, but here's how to find out more
In cases of entirely unknown binaries, strings(1) is often helpful in getting a hint about what the file might be
strings /tmp/ics29586 | less
Have a look through the output and see if it's anything familiar.
Failing that, find out which launchd job it is being launched from:
launchctl list|awk '{id=$3; print "### " id; system("launchctl list " id)}'|awk '/^###/ {id=$2} /.*ics29586.*/ {print id}'
This should output one or more job tags in the form of (for example) com.apple.scrod (and a few errors, which you can ignore).
Once you have the job tag(s), get the launchd config for a job by running:
launchctl list com.apple.scrod # insert your tag instead
This (and the tag itself, which often contains an internet domain name in reverse notation) should give you some more information about what this process is. Feel free to post it here if you need further help.
Update: Forgot to mention this, but since it's a jar file, you can copy it somewhere and unzip it (jar files are really just zip files) and have a look at what sort of Java classes are in there.
You should look at CandyBar software from the Icon Factory.
It supports 10.2!!! and later and does exactly what you ask. Free trial to be sure it does what you wish so you don't need to spend any money if it's not to your taste.
http://iconfactory.com/software/candybar
Best Answer
An app's Dock Tile Icon should be 1024 × 1024.
For more information about customising your Dock Tile, see the documentation:
Keep in mind that implementation (software development) is off-topic here.