You can't.
What you can do is utilize the position from the event, create an AA-bounding box of desired range and check for presence of your block within that box.
Adding tile entities is simple, you just make a class extending TileEntity, then you register it on your server/common proxy, and you override the methods hastileentity and and createtileentity.
registering is like this:
GameRegistry.registerTileEntity(TileBlockBreaker.class, Vars.MOD_ID + ":tile_blockbreaker");
Oh god no. That would take billions of bytes of RAM to store even the smallest of worlds. No no, Block classes are a model, this is why all of the methods are passed a World and BlockPos value. Also, by making that field static, you forced it to be the same value for all instances of your class anyway, so even if you were right, you still singleton-ized the value.
If you need per-position storage, you must use a TileEntity.