Is there a way to create a Text Format on install of a Drupal Module? And enable a Filter for my module? I want to do a custom filter that replaces certain text with HTML. Essentially shortcodes as done by Wordpress.

Unfortunately, the Filtered HTML Text Format strips most HTML.

So I created my own Text Format manually and enabled only my own Filter.

Is there a way to do this programmatically in the module.install file?
Using Features you can export your Text Formats in code and have it automatically configured.

You can configure the filter used for a text format and their order. You can also configure the HTML filter used in the default Filtered HTML text format to allow more HTML elements. So by either allowing the HTML element produced by your filter, and by moving your filter after the HTML filter, you can get your custom filter to work.