Not quite sure what Meirdent is talking about either.
! is used for defines, which are basically placeholders for any value:
Code!some_value = #$01
!some_address = $0DBF
LDA !some_value
STA !some_address
(they're much more versatile in Asar than this snippet gives them credit for, but you get the idea.)
Defines have always been really useful to make programming and customizing patches easier, but another reason many addresses like this are outsourced to defines nowadays is probably because of the SA-1 patch, which remaps a lot of them. With defines, you can just tell Asar "if SA-1 is on, let !some_address equal $14C8, otherwise, let it equal $1234 or whatever." (Or it's needed because of sprite insertion tools? I'm not quite up to date on those.)
You can name the defines anything you want, but in the case of SA-1 and/or sprite addresses the convention is to name them like the original address, so you can still tell at a glance what a piece of code does.