Hi,
so for your wireless questions:
you can set the txpower as option ("option txpower 18" for 18dBm, not mW!) under "config wifi-iface" in the file /etc/config/wireless. It´s working for me with a atheros-wifi, maybe you can use this setting for a broadcomwifi too.
to change from wpa-psk to wpa2-psk you only have to set "option encryption psk2" in the same section in the wireless-config file. I guess you can do this with uci-commands too, but I´m not really familiar with the uci.
so to the forwarding problem: I remember a "big fat disclaimer" in the firewall-configfile in older versions of openwrt, that the services are not reachable from the inside through the outside-ip.
the forwarding-rules in openwrt are very basic, but that have the advantage that they don´t need much cpu.
so as I remeber correctly the problem is, that the router don´t masquerade the sourceip. so if you want to connect to from inside your client connects to the external ip and the package is forwarded to the internal ip of you server, the server sees that the package came from the same subnet and tries to sent it back directly to the client, but the client expects a package sent from the router not from the server and drops it.
so there are two fixes (or workarounds) if you only have one server that should be available from the outside and the inside (you can have multiple that have to be reachable from the outside only), you can add the external dnsname in the /etc/hosts file (192.168.55.1 server-name myname.dyndns.org) so every client which uses your router as dns-server resolves the local-ip of the server and can connect without a problem, and you don´t bother the router with local traffic (I´m using this configuration)
if you have forwardings to multiple local servers an you want to reach all of them from the lanside at the external ip that you need to masquerade the source-ip to the internal ip of the router, so that the server sends the data back to the router an not directly to the client. but I´m not sure about the exact iptables-command, but there should be threads about this in the white-russian forum. As I remember there are a few drawbacks. with this setting you will see in every logfile on the server that all packages are from your router-ip and not from the original ip. this could be a problem if you want to know who downloading from you, or who hacked your vnc-server btw. I wouldn´t make a vnc-server directly available to the internet, I think thats very insecure, it would be better to connect to the vnc-server over a ssh-tunnel or something like that.