PATH=$PATH:.
... is easy for taking care of the ./ part... which you focused on, but paying more attention isn't really the meat of it. Besides that, many of us frown on it for security reasons. See Adding current directory to path for more discussion that aspect.
In case I've mis-interpreted (I have), I'll expand on what @DavidShwartz is saying.
Your remaining options include specifying the directory in question as part of the path (PATH=$PATH:/to/your/executable/dir
), or if you only have a few programs in mind or they're scattered across many locations, using symlinks. If you're going the symlink route, I suggest setting ~/bin
to be at the end of your path and creating your symlinks in ~/bin
...
ln -s /to/your/executable/dir/program ~/bin/program
It is almost always best to put extra paths at the end of your $PATH statement. It is very rare that you want anything to override the system files. That will take care of reaching it.
For the last part, you can put a shell script in one of you $PATH directories which includes the options you want to pass. You can really cheat and skip the whole path thing entirely: alias runmyprogram '/to/your/executable/dir/program -argument1'
(you can also include opening arguments here if you always want them)
There are more, but a shell script in your path or an alias command should do it.