How can I give someone on my Minecraft server a custom name that replaces their own username in that game?
This depends on whether you want to change the name entirely or not.
If so, then no you cannot. However if you only want to add a prefix or suffix, then yes this is possible.
In order to do so, you can create a team using
/team create <name> and then modify the team using
/team modify <name> <prefix/suffix> <text>. Then add the person to that team using
/team join <name> <player>. Doing this you can also make the name coloured.