It is possible to write your own: the standard bibliography styles are distributed in a commented form, and there is a description of the language (see BibTeX documentation). However, it must be admitted that the language in which BibTeX styles are written is pretty obscure, and one would not recommend anyone who's not a confident programmer to write their own, though minor changes to an existing style may be within the grasp of many.
If your style isn't too 'far out', you can probably generate it by
using the facilities of the custom-bib bundle. This
contains a file makebst.tex, which runs you through a text menu
to produce a file of instructions, with which you can generate your
own .bst
file. This technique doesn't deal with entirely new styles
of document (the present author needed "standards committee papers"
and "ISO standards" for his dissertation; another
commonly-required type is the Web page - see
URLs in bibliographies).