Hopefully understanding you correctly:
LCALL is used when the target is not within +- 128 bytes from the current instruction else a simple CALL is used. So this is something quite usual.
The PSoC needs to be initialized, the code for this is found in the file "Boot.asm".
After initialization main() is called (probably using LCALL). this ensures when main() is exited that the complete initialization is repeated.
All interrupt handlers are callef using LCALL or LJMP.
There are some optimizations done by the compiler, so changes in program flow can be considered normal when anything in source are changed.
What is your "self-made program" written in? C-language or Assembly??
What is your concern? Anything not working as expected?? You can create and upload a project archive, so we all can check your project for correctness.
A1/A3. Your recognition is correct. A PSoC Designer project has code other than the code you have written. This includes math libraries, string libraries, startup code, and the code for the user modules.and device configuration. So you can frequently see LCALLs to code other than yours. Just for information kindly refer to the PSoC Designer Libraries Guide.
A2/A4. When constants are changed, there is a chance that the code might also change. This depend on the nature of the function itself, and the compiler optimization options. So you can expect to see changes, but not for every value of the constant.